Javascript 数组中的每个其他元素
我正在尝试访问数组中每隔一个/秒的元素,例如2、4、6、8等。。但无法让它工作。有什么建议吗 这是我的职责: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
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中的内容?聪明,非常聪明,非常聪明,非常漂亮