删除数组脚本的输入项

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


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它说未定义。提前感谢您的帮助


芜湖不芜
浏览 122回答 3
3回答

慕哥6287543

从您的评论中,您说:这是针对一个类,所以我可以使用的内容受到限制。我只允许.长度,.pop和.push,没有别的因此,考虑到这一点,我尝试坚持您开始的内容并使其起作用(尽管还有很多其他方法可以做到这一点):您只需要将输入数组中的所有项目推送到不等于要删除的值的输出/结果数组,然后在最后返回该输出/结果数组。您的输入数组保持不变。任何问题,请告诉我。const my_arr = [1, 2, 3, 9]function my_set_remove(my_arr, value) {&nbsp; let result = [];&nbsp; for (let i = 0; i < my_arr.length; i++) {&nbsp; &nbsp; if (my_arr[i] != value) {&nbsp; &nbsp; &nbsp; result.push(my_arr[i]);&nbsp; &nbsp; }&nbsp; }&nbsp; return result;}console.log(my_set_remove(my_arr, 9));输出:[1,&nbsp;2,&nbsp;3]

MM们

使用过滤器似乎是你需要的:const my_arr = [1, 2, 3, 9]function my_set_remove(my_arr, value) {&nbsp; &nbsp; return my_arr.filter((original_val) => original_val !== value)}console.log(my_set_remove(my_arr, 9));

繁星coding

ES6减少解决方案const my_arr = [1, 2, 3, 9]function my_set_remove(my_arr, value){&nbsp; return my_arr.reduce((acc, rec) => {&nbsp; &nbsp; if (rec !== value) {&nbsp; &nbsp; &nbsp; return acc.concat(rec)&nbsp; &nbsp; }&nbsp; &nbsp; return acc&nbsp; },[])}console.log(my_set_remove(my_arr, 9 ))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript