我有一个数组,我想在彼此之间输出所有偶数和奇数元素。它们出现了很多次,但我想一次看到它们。我的意思是我需要按enter
来查看元素,但是我不需要这样做。我该怎么解决?
我的代码:
var array = [1,2,3,4];
for(var i=0; i<array.length;i++) {
if(array[i] % 2 == 0)
alert(array[i]);
}
答案 0 :(得分:1)
也许您正在寻找 .filter 运算符
var arr = [1,2,3,4,5,6,7];
var oddArr = arr.filter((item) => item % 2 !== 0)
// [1, 3, 5, 7]
var evenArr = arr.filter((item) => item % 2 === 0)
// [2, 4, 6]
您说“它们出现了很多次,但我想一次看到它们”。
我想你想摆脱重复的东西。
var duplicateArray = [1,2,2,3,4,5,5,6,7,7];
var arr = [...new Set(duplicateArray)];
// [1, 2, 3, 4, 5, 6, 7]
或者,如果您是要在计算后立即提醒它,而不是提醒单个元素,
然后使用alert(oddArr)
,然后使用alert(evenArr)
答案 1 :(得分:1)
根据评论中的讨论,我想这就是您要寻找的内容:
var array = [1,2,3,4];
var array_odd = [];
var array_even = [];
for (var i=0; i<array.length;i++) {
if(array[i] % 2 == 0) {
array_even.push(array[i]);
} else {
array_odd.push(array[i]);
}
};
// un-comment if you want them 'alerted' as in your code sample
// alert(array_even);
// alert(array_odd);
这将为您提供两个数组,每个数组包含奇/偶数,不按要求使用数组'filter'方法。
尽管我建议在此实现上使用Array.filter()。
答案 2 :(得分:0)
请,我会建议您使用过滤器。它是一个高阶函数,意味着它需要一个函数,因为它是一个参数。
let array = [1,2,3,4]
let evenNum = array.filter((arrayItems) => arrayItems % 2 === 0);
let oddNum = array.filter((arrayItems) => arrayItems % 2 !== 0);
//when you console.log(eventNum) you get 2,4
//when you console.log(OddNum) you get 1