3 回答
TA贡献1831条经验 获得超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]
TA贡献1886条经验 获得超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));
TA贡献1797条经验 获得超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 ))
添加回答
举报