最近刚好在用js写一些前端的东西,因为要用到一个可选择性的日期编辑框所以涉及到数组的元素删除,js自带的方法中没有(或者说我没找到,没系统学过js)删除某元素的方法,所以就自己琢磨了一下写了一个,写在这里备忘。
话不多说,先上代码
function remove(arr,j){
for(i=j;i<arr.length-1;i++){
arr[i] = arr[i+1]
}
arr.pop();
}
var testArr = [0,1,2,3,4,5];
remove(testArr,2);
console.log(testArr);
console.log(testArr.length);
运行结果
(5) [0, 1, 3, 4, 5]
5
基本的思路就是根据下标把所有的值往前移一位,然后把最后一位pop出去,在这个思路下,可以用js原生的indexOf或者findIndex来实现根据数组元素内容删除
嗯······就这样,目前没遇到bug,有bug的话欢迎提出来探讨一下