Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос по массивам (https://javascript.ru/forum/misc/72031-vopros-po-massivam.html)

Андрей М 02.01.2018 00:00

Вопрос по массивам
 
Есть два массива:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var tegs = [1,3]

Нужно вывести на страницу элементы первого массива, соответствующие номерам второго массива , то есть Volvo и Saab. Наверно просто, но не могу сообразить . Плз :)

Андрей М 02.01.2018 00:01

То есть Volvo и Ford

Андрей М 02.01.2018 00:12

Скорее вопрос может выглядеть иначе, изначально массив выглядит примерно так:
var cars = [
{"year": "2012",
"auto": "BMW"},
{"year": "2015",
"auto": "Volvo"},
{"year": "2012",
"auto": "Saab"},
{"year": "2015",
"auto": "Ford"}
];

Мне нужно выбрать например машины 2015 года. Не нашел как это делается, смог создать массив, указывающий с помощью search на порядковый номер массива в котором есть соответствия 2015 в year, а именно
function findTags(array) {
var index = [], i = 0;
for (i; i < array.length; i++) {
if ((valu.search(array[i].tags)) !== -1)
index.push(i); };
return index;
};
Дальше - то, что написал вначале, то есть не получается

рони 02.01.2018 00:35

Андрей М,
var cars = [
 {"year": "2012",
 "auto": "BMW"},
 {"year": "2015",
 "auto": "Volvo"},
 {"year": "2012",
 "auto": "Saab"},
 {"year": "2015",
 "auto": "Ford"}
 ];
var year = "2015";
var out = cars.filter(function(car) {
   return car.year == year
}).map(function(car) {
   return  car.auto
});
alert(JSON.stringify(out));

Андрей М 02.01.2018 00:58

Да все работает. Благодарю. Буду разбираться


Часовой пояс GMT +3, время: 21:36.