Как разобрать json
Здравствуйте.
помогите разбить JSON вида:
с: {
a1:1
b1:2
}
на json вида e:[a,b] и d:[1,2] |
Это не JSON, это объекты JS.
|
Цитата:
|
Dtri,
var с = {"a1":1,"b1":2}, d = [], e = [];
Object.keys(с).forEach(function (key) {
d.push(с[key])
e.push(key.replace(/\d/,''))
});
alert([d,e].join('\n'))
|
Цитата:
поясни пожалуйста. (/\d/,'') это регулярное выражение? и что оно делает? |
Dtri,
да, убирает 1 в a1 и b1 |
o={a: 1, b: 2}
a=[]; b=[]
for(i in o){a.push(i); b.push(o[i])}
alert([a,b])
// [ [ 'a', 'b' ], [ 1, 2 ] ]
|
krutoy,
o={a: 1, b: 2}
a=[]; b=[]
o.__proto__.c = 8;
for(i in o){a.push(i); b.push(o[i])}
alert([a,b])
// [ [ 'a', 'b', 'c' ], [ 1, 2, 8 ] ]
|
Цитата:
и что делает __proto__? в данном случае. насколько я понял добавляет в объект "о" с:8 после чего о={a:1, b:2, c:8} правильно? |
Цитата:
Цитата:
Цитата:
|
bes,
И что? Если не нужны св-ва из прото используй hasOwnProperty. |
Цитата:
|
Цитата:
Можно и Object.keys пользовать, но это синтаксический мусор, я против этого. Нельзя на каждый пук запиливать функцию на уровне языка, для этого есть либы. Это охуевшие комитетчики уже охуели вконец, маразму нет предела. |
Цитата:
|
bes,
Я там проапдейтил, ты не успел прочитать, повторюсь: Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
keys=function(o){
var out=[]
for(var i in o) {if(!(o.hasOwnProperty(i))) return out; out.push(i)}
}
|
bes,
Syntactic sugar causes cancer of the semi-colons (c)Perlis от себя добавлю, еще cancer of the programmer's brain |
Цитата:
|
Цитата:
|
bes,
"слабо прогуглить?" погуглил. если бы понял. не спрашивал. |
Всем спасибо за участие. Ваша маленькая склока была очень содержательной и познавательной.
Особое спасибо Крутому. Я использовал его пример. Так как он наиболее простой и в моём случае хватает с головой/ всем плюсы) |
Цитата:
https://developer.mozilla.org/ru/doc...s/Object/proto согласен, мутновато для первого знакомства написали вторая ссылка http://habrahabr.ru/post/140810/ здесь понятнее делаем важный финт читаем, разибраемся, понимаем, что ничего сложного http://learn.javascript.ru/prototype |
| Часовой пояс GMT +3, время: 10:56. |