Javascript 数组中的每个其他元素

Javascript 数组中的每个其他元素,javascript,arrays,Javascript,Arrays,我正在尝试访问数组中每隔一个/秒的元素,例如2、4、6、8等。。但无法让它工作。有什么建议吗 这是我的职责: function tall(nummer) { var tall = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; if (nummer == 5) { for(var i = 0; i <= tall.length; i++) { if(!i % 2 == 0) { c

我正在尝试访问数组中每隔一个/秒的元素,例如2、4、6、8等。。但无法让它工作。有什么建议吗

这是我的职责:

 function tall(nummer) {
var tall = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
 if (nummer == 5) {
    for(var i = 0; i <= tall.length; i++) {
        if(!i % 2 == 0) {
            const partall = a => a.filter(e => +e == e && e%2);
            document.getElementById("tall").innerHTML = partall(tall);

        }
    }
}
功能高度(numer){
var tall=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
如果(numer==5){
对于(VARI=0;IA.filter(e=>+e==e&&e%2);
document.getElementById(“高”).innerHTML=partall(高);
}
}
}
您可以使用
&
识别奇偶索引并进行筛选

tall.filter((_,i) => i&1) 
var-tall=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
结果=高。过滤器((u,i)=>i&1);
console.log(result);
您可以使用
&
识别奇偶索引并进行筛选

tall.filter((_,i) => i&1) 
var-tall=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
结果=高。过滤器((u,i)=>i&1);

console.log(结果);
该行存在操作顺序问题

if(!i % 2 == 0) {
其中,
的优先级高于
%
。因此i的值被强制为布尔值(对于任何非零数为false),然后该布尔值被强制为模运算的
0
0%2
的结果始终为0,因此该语句的计算结果始终为true).如果你想检查
i
是否为偶数,你应该写下它

if(i % 2 == 0)// i divided by two has no remainder
但是,您是在循环中执行此操作的,在实际情况中,您是对整个数组应用一个筛选器。该筛选器操作的结果在循环的每次迭代中都不会改变,因此多次执行此操作毫无意义

const partall = a => a.filter(e => +e == e && e%2);
+e
是一个一元运算符,用于将
e
中的值强制为一个数字(它已经是一个数字),但随后将一个数字与
e&&e%2
进行松散比较,这将导致一个布尔值(如果该数字不能被2均匀整除,则为true)。如果需要所有偶数,则可以重写此值

const partall = a => a.filter(e => !(e%2));
下面应该可以,我已经完全删除了这个循环,因为它在这里没有真正的功能

功能高度(numer){
var tall=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
如果(numer==5){
常量partall=a=>a.filter(e=>!(e%2));
document.getElementById(“高”).innerHTML=partall(高);
}
}
高(5);

该行存在操作顺序问题

if(!i % 2 == 0) {
其中,
的优先级高于
%
。因此i的值被强制为布尔值(对于任何非零数为false),然后该布尔值被强制为模运算的
0
0%2
的结果始终为0,因此该语句的计算结果始终为true).如果你想检查
i
是否为偶数,你应该写下它

if(i % 2 == 0)// i divided by two has no remainder
但是,您是在循环中执行此操作的,在实际情况中,您是对整个数组应用一个筛选器。该筛选器操作的结果在循环的每次迭代中都不会改变,因此多次执行此操作毫无意义

const partall = a => a.filter(e => +e == e && e%2);
+e
是一个一元运算符,用于将
e
中的值强制为一个数字(它已经是一个数字),但随后将一个数字与
e&&e%2
进行松散比较,这将导致一个布尔值(如果该数字不能被2均匀整除,则为true)。如果需要所有偶数,则可以重写此值

const partall = a => a.filter(e => !(e%2));
下面应该可以,我已经完全删除了这个循环,因为它在这里没有真正的功能

功能高度(numer){
var tall=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
如果(numer==5){
常量partall=a=>a.filter(e=>!(e%2));
document.getElementById(“高”).innerHTML=partall(高);
}
}
高(5);

你有什么错误吗?
对于(var i=0;i@elpolloco nopewait,你到底在哪里访问tall?这是html中的一个div,如果这是你要问的,为什么数组中有一个循环,循环内过滤数组?在每次迭代中,你只需删除你粘贴在innerHTML中的内容?你有什么错误吗(var i=0;i@elpololoco nopewait,你到底在哪里访问tall?这是html中的一个div,如果你问的是这个问题,为什么会有一个数组的循环,在循环中过滤数组?在每次迭代中,你只需删除你粘贴在innerHTML中的内容?聪明,非常聪明,非常聪明,非常漂亮