我有一个嵌套数组,我需要创建两个新数组,一个用于偶数,另一个用于使用嵌套 for 循环的奇数。我使用了 push 方法,但结果是每个数字都在一个单独的数组中,而我需要将所有偶数设置在一个数组中,而奇数也是如此。
这是我的代码:
var numbers = [
[243, 12, 23, 12, 45, 45, 78, 66, 223, 3],
[34, 2, 1, 553, 23, 4, 66, 23, 4, 55],
[67, 56, 45, 553, 44, 55, 5, 428, 452, 3],
[12, 31, 55, 445, 79, 44, 674, 224, 4, 21],
[4, 2, 3, 52, 13, 51, 44, 1, 67, 5],
[5, 65, 4, 5, 5, 6, 5, 43, 23, 4424],
[74, 532, 6, 7, 35, 17, 89, 43, 43, 66],
[53, 6, 89, 10, 23, 52, 111, 44, 109, 80],
[67, 6, 53, 537, 2, 168, 16, 2, 1, 8],
[76, 7, 9, 6, 3, 73, 77, 100, 56, 100]
];
for (var x = 0; x < numbers.length; x++) {
for (var y = 0; y < numbers[x].length; y++) {
if (numbers[x][y] % 2 === 0) {
var even = [];
even.push(numbers[x][y]);
} else {
var odd = [];
odd.push(numbers[x][y]);
}
console.log(odd);
}
您必须将所有嵌套数组合并到一个新数组中,然后您可以分别找到所有奇数和偶数,如下所示
var numbers = [
[243, 12, 23, 12, 45, 45, 78, 66, 223, 3],
[34, 2, 1, 553, 23, 4, 66, 23, 4, 55],
[67, 56, 45, 553, 44, 55, 5, 428, 452, 3],
[12, 31, 55, 445, 79, 44, 674, 224, 4, 21],
[4, 2, 3, 52, 13, 51, 44, 1, 67, 5],
[5, 65, 4, 5, 5, 6, 5, 43, 23, 4424],
[74, 532, 6, 7, 35, 17, 89, 43, 43, 66],
[53, 6, 89, 10, 23, 52, 111, 44, 109, 80],
[67, 6, 53, 537, 2, 168, 16, 2, 1, 8],
[76, 7, 9, 6, 3, 73, 77, 100, 56, 100]
];
var merged = [].concat.apply([], numbers);
var evenValues = [];
var oddValues = [];
for (var i = 0; i < merged.length; i++) {
if ((merged[i] % 2) != 1) {
evenValues.push(merged[i]);
} else {
oddValues.push(merged[i]);
}
}
console.log(evenValues);
console.log(oddValues);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句