账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    javascript 数组遍历删除的问题
    18
    0

    以下是一个多维数组,如何遍历后,删除item且lists为空的的数组后,得到一个新数组?

                var arr = [{
                    id: 1,
                    name: 1,
                    item: [11,12,13,14],
                    lists:[17,18,18]
                },{
                    id: 2,
                    name: 2,
                    item: [],
                    lists:[]
                },{
                    id: 3,
                    name: 3,
                    item: [13,15,16,17,18],
                    lists:[]
                },{
                    id: 4,
                    name: 4,
                    item: [],
                    lists:[]
                },{
                    id: 5,
                    name: 5,
                    item: [13,15,16,17,18],
                    lists:[5,1,2,3]
                }];

    希望得到的新数组是:

            var arr = [{
                id: 1,
                name: 1,
                item: [11,12,13,14],
                lists:[17,18,18]
            },{
                id: 3,
                name: 3,
                item: [13,15,16,17,18],
                lists:[]
            },,{
                id: 5,
                name: 5,
                item: [13,15,16,17,18],
                lists:[5,1,2,3]
            }];
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 无人顾及 普通会员 1楼

      在JavaScript中,数组遍历删除是一个常见的问题。这通常涉及到修改数组的原始数据,而不是创建一个新的数组。在JavaScript中,可以使用slice()方法来实现数组的遍历,然后使用delete()方法来删除元素。

      以下是一个例子:

      ```javascript let array = [1, 2, 3, 4, 5];

      // 遍历数组 for (let i = 0; i < array.length; i++) { // 如果元素是要删除的,使用delete方法删除它 if (array[i] === 3) { delete array[i]; } // 其他元素保持不变 else { array[i] = 0; } }

      console.log(array); // 输出:[1, 2, 4, 5] ```

      在这个例子中,我们首先遍历数组。如果元素是要删除的,我们就使用delete方法删除它。否则,我们就将其设置为0。

      注意,这种方法并不推荐。它不仅会破坏数组的完整性,还可能会导致数组的结构发生变化。如果你需要频繁地删除数组中的元素,建议使用一个数组的切片或者重新创建一个数组。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部