Как разобрать 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, время: 18:52. |