为了账号安全,请及时绑定邮箱和手机立即绑定

使用 for 循环拼接数组的正确方法是什么,嵌套 if 条件

使用 for 循环拼接数组的正确方法是什么,嵌套 if 条件

翻过高山走不出你 2021-10-29 15:05:07
我正面临拼接数组的这个问题。我检查了我能找到的所有例子,但都在静脉中。麻烦在于 for 循环中的这些嵌套 if 条件。我正在做 i-- 但无法继续。任何人都可以帮助我并解释方法。我正在添加一个片段。问题是,每当我不执行 i-- 操作并拼接数组时,就会交替删除元素,但是在添加 i-- 时,我无法继续进行下去。我试过--i,但现在我对我做错了什么感到困惑!这里 m 是一个从 1 到 20 的数字数组。长度为 20。        var k=13;        for (var i = 0; i < m.length; i++) {            if (m[i] < k) {                if (i != 0 && i != m.length) {                    m.splice(i, 1);                }                if (i == 0) {                    m.splice(i, 1);                }                i--;            }        }
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

据我所知,您想filter删除小于 13 的所有元素。您可以通过filter()在 javascript 中使用来执行相同的操作


const filterLimit = 13;


// Here filteredList is the list of all elements lesser than filterLimit

const filteredList = m.filter(item => item >= filterLimit);

例子:


const filterLimit = 13;

const unFilteredList = [1, 13, 14, 2, 5, 33];


const filteredList = unFilteredList.filter(item => item >= filterLimit);


console.log(filteredList);


查看完整回答
反对 回复 2021-10-29
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

这种方法有一个错误,那就是你不能(i)在循环内更改循环的参数


您可以while改用:


var k=13;

var i=0;

while (i < m.length){

    if(m[i] < k){

        m.splice(i, 1);

    }else{

        i++;

    }

}


查看完整回答
反对 回复 2021-10-29
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信