Сравните два объекта массива данных json

Один объект JSON содержит массив идентификаторов и один содержит массив массивов с идентификатором и заголовком в каждом массиве. Вот мои два формата данных JSON...

Первые данные JSON:

json1 : [
 "123",
 "456",
 "789"
]

Вторая информация JSON:

json2 : [
 [
 "789",
 "Title3"
 ],
 [
 "456",
 "Title2"
 ],
 [
 "123",
 "Title1"
 ]
]

Поэтому сравните порядок идентификаторов двух данных JSON, необходимо создать новые данные JSON с названием заголовка. Итак, последний JSON должен следовать следующим...

Конечный результат:

[
 'Title1',
 'Title2',
 'Title3'
]

Пожалуйста, предложите мне.

3 ответа

Вы можете сделать так:


var json1 = JSON.parse('["123", "456", "789" ]');

var json2 = JSON.parse('[["789", "Title3"],["456","Title2"],["123","Title1"]]');

var titleArr = []; 

for(var i=0; i


Вы можете просто сделать это

var titleArr = json2.filter(function(x) {
 return json1.indexOf(x[0]) != -1; // checking if the both contain same ids
}).map(function(x) {
 return x[1]; // returns just the second element which is title
});

licensed under cc by-sa 3.0 with attribution.