Используйте индекс для подмножества массива в скрипте приложений - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в скрипте приложений (ранее был пользователем Matlab).Я пытаюсь установить подмножество массива «names» на основе значения другого массива «index».Оба массива имеют одинаковую длину:

names = [["name1"], ["name2"], ["name3"], ["name4"], ["name5"],["name6"],["name7"],["name8"],["name9"],["name10"]];
index = [0,0,1,0,1,0,0,0,0,1]; 

Я хочу подмножество массива «имена», чтобы просто подобрать имена, где «индекс» имеет значение 1. Я написал:

var subsetNames = names[index];

в надежде получить "subsetNames" равным:

[["name3"],["name5"],["name10"]]

Код выполняется, но "subsetNames" остается неопределенным.Как я могу изменить код для достижения поднабора?спасибо.

1 Ответ

0 голосов
/ 12 декабря 2018

Как насчет этого?Я думаю, что есть несколько ответов для вашей ситуации.Поэтому, пожалуйста, подумайте об этом как об одном из них.

Пример сценария:

var names = [["name1"], ["name2"], ["name3"], ["name4"], ["name5"], ["name6"], ["name7"], ["name8"], ["name9"], ["name10"]];
var index = [0,0,1,0,1,0,0,0,0,1]; 
var subsetNames = names.filter(function(e, i) {return index[i] == 1}); // [["name3"],["name5"],["name10"]]

Примечание:

  • Этот сценарий предполагает, что длины массива обоих names и index одинаковы.

Ссылка:

...