Подмножество Array другим массивом Javascript - PullRequest
0 голосов
/ 15 ноября 2011

Я новичок в JavaScript и имею простую задачу. У меня есть массив «значения» и второй массив «пол», и я хочу создать третий массив, который «значения», где пол == «мужчины». Переменные выглядят так:

var values = new Array();
values[0] = .1
values[1] = .3
values [2] = .7
values[3] = .8
var gender = new Array();
gender[0]='Males'
gender[1]='Males'
gender[2]='Females'
gender[3]='Females'

Эквивалентный синтаксис в python будет:

female_values = values[gender=='Females']

Есть мысли?

Ответы [ 2 ]

2 голосов
/ 15 ноября 2011
var values = [.1, .3, .7, .8];
var gender = ['Males', 'Males', 'Females', 'Females'];

var males = [];
for (var i = 0; i < values.length; i++) {
  if (gender[i] == 'Males') {
    males.push(values[i]);
  }
}

Конструктор Array обычно не используется, вместо него используйте литерал массива [].Затем просто переберите массивы и вставьте значение в третий массив, если какое-то условие, которое вы установили, прошло.немного приятнее .

0 голосов
/ 15 ноября 2011

приятнее

var values = [.1, .3, .7, .8],
    gender = ['Males', 'Males', 'Females', 'Females'],
    males  = [],
    i      = values.length;

while ( i-- ) {
    gender[i] == 'Males' && males.unshift(values[i])
}
...