我是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']
有什么想法?
答案 0 :(得分:2)
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
构造函数,而是使用数组文字[]
。然后简单地遍历数组并将值推送到第三个数组,如果您设置的某些条件通过。
是的,这比python更痛苦,虽然coffee script can make it a little nicer。
答案 1 :(得分:0)
更好的方式
var values = [.1, .3, .7, .8],
gender = ['Males', 'Males', 'Females', 'Females'],
males = [],
i = values.length;
while ( i-- ) {
gender[i] == 'Males' && males.unshift(values[i])
}