gpt4 book ai didi

javascript - 从数组中删除所有出现的数字

转载 作者:行者123 更新时间:2023-12-01 07:24:11 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What is the in-place alternative to Array.prototype.filter()

(6 个回答)


5年前关闭。




我正在努力解决以下问题,

Given an array and a value, remove all instances of that value in place and return the new length.



我已经为它编写了下面的代码,但它总是返回一个空数组。
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
var removeElement = function(nums, val) {
for (var i=0; i< nums.length; i++)
{
if (nums[i] == val)
nums.slice(i);
}
return nums;
};

最佳答案

使用数组 SPLICE 不切片

var removeElement = function(nums, val) {
for (var i=nums.length - 1; i >=0; i--) {
if (nums[i] == val) {
nums.splice(i,1);
}
}
return nums.length;
};
var n = [1,2,3,2,1,2,3,2,1];
console.log(removeElement(n , 1));
console.log(n);


另外,请注意函数返回 nums.length - 正如你所说的要求是函数返回数组的新长度

关于javascript - 从数组中删除所有出现的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44771950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com