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

删除数组脚本的输入项

删除数组脚本的输入项

芜湖不芜 2022-09-23 16:24:39

我需要编写一个函数来删除在输入框中输入的数字或项目。这是我到目前为止所拥有的...


const my_arr = [1, 2, 3, 9]


function my_set_remove(my_arr, value) {

  let result = [];

  for (let i = 0; i < my_arr.length; i++) {

    result = my_arr[i];

    if (my_arr[i] == value) {

      let new_arr = my_arr.pop[i];


      return new_arr;

    }

  }

}

console.log(my_set_remove(my_arr, 9));

当我控制台时.log它说未定义。提前感谢您的帮助


查看完整描述

3 回答

?
慕哥6287543

TA贡献0条经验 获得超10个赞

从您的评论中,您说:


这是针对一个类,所以我可以使用的内容受到限制。我只允许.长度,.pop和.push,没有别的


因此,考虑到这一点,我尝试坚持您开始的内容并使其起作用(尽管还有很多其他方法可以做到这一点):


您只需要将输入数组中的所有项目推送到不等于要删除的值的输出/结果数组,然后在最后返回该输出/结果数组。您的输入数组保持不变。


任何问题,请告诉我。


const my_arr = [1, 2, 3, 9]


function my_set_remove(my_arr, value) {

  let result = [];

  for (let i = 0; i < my_arr.length; i++) {

    if (my_arr[i] != value) {

      result.push(my_arr[i]);

    }

  }

  return result;

}

console.log(my_set_remove(my_arr, 9));

输出:

[1, 2, 3]


查看完整回答
反对 回复 3天前
?
MM们

TA贡献1553条经验 获得超2个赞

使用过滤器似乎是你需要的:


const my_arr = [1, 2, 3, 9]


function my_set_remove(my_arr, value) {

    return my_arr.filter((original_val) => original_val !== value)

}


console.log(my_set_remove(my_arr, 9));


查看完整回答
反对 回复 3天前
?
繁星coding

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

ES6减少解决方案


const my_arr = [1, 2, 3, 9]


function my_set_remove(my_arr, value){

  return my_arr.reduce((acc, rec) => {

    if (rec !== value) {

      return acc.concat(rec)

    }

    return acc

  },[])

}

console.log(my_set_remove(my_arr, 9 ))


查看完整回答
反对 回复 3天前
  • 3 回答
  • 0 关注
  • 10 浏览
慕课专栏
更多

添加回答

举报

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