У меня есть два разных json-массива для concat.получить значение из атипичного массива json
var json_1 = [{
acceleration: 15,
cylinders: 4,
displacement: 98,
horsepower: 80,
id: 90,
model_year: 72,
mpg: 28,
name: "dodge colt (sw)",
origin: 1,
weight: 2164
}, {
acceleration: 14,
cylinders: 8,
displacement: 307,
horsepower: 130,
id: 80,
model_year: 72,
mpg: 13,
name: "chevrolet chevelle concours (sw)",
origin: 1,
weight: 4098
}];
var json_2 = [{
color: 'name',
number: "id",
x: "cylinders",
y: "horsepower"
}];
Дальше Я делаю concat json_1 и json_2.
$.concat||$.extend({concat:function(b,c){var a=[];
for(x in arguments)a=a.concat(arguments[x]);return a;}});
var data = $.concat(json_1, json_2);
Теперь это очень интересно. Я хочу использовать значение ключа из json_2, чтобы иметь значение из данных. Сначала я определить varisble цвет
var color = data[data.length - 1].color;
И как результат я могу увидеть
console.log("RESULT!!!! value from color is name", data.map(function(d) {
return d[color];
})); // solution ["dodge colt (sw)", "chevrolet chevelle concours (sw)"]
Мой вопрос, как писать var color = data[data.length - 1].color;
более умным, чтобы получить решение ["dodge colt (sw)", "chevrolet chevelle concours (sw)"]
Почему вы конкатенации двух массивов вместе? (Кстати, в вашем вопросе нет JSON. У вас есть массивы объектов. JSON всегда строка.) – nnnnnn
как я понимаю, вам не нужно 'concat', а вам нужно' map' – Grundy
да, я имеют массивы объектов. Я конкатенирую, потому что я передаю этот массив для работы. Мой вопрос в том, как написать var color = data [data.length - 1] .color; более умный, чтобы получить решение ["dodge colt (sw)", "chevrolet chevelle concours (sw)"] – toshkaexe