[英]How to remove n from an array without mutating it?
嗨,这个问题需要删除
您可以使用filter
或reduce
,或者先使用slice
复制数组,然后执行splice
。
就个人而言,我喜欢filter
的简单性和明确的意图
function removeItem(array, n) { return array.filter((elem, i) => i !== n); } const original = [1,2,3,4]; console.log(removeItem(original, 1)); console.log(original);
function removeItem (array, n) { return array.reduce((result, elem, i) => { if (i !== n) result.push(elem); return result; }, []) } const original = [1,2,3,4]; console.log(removeItem(original, 1)); console.log(original);
function removeItem(array, n) { const result = array.slice(); result.splice(n, 1); return result; } const original = [1,2,3,4]; console.log(removeItem(original, 1)); console.log(original);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
function removeItem(array, n) {
return array.filter((x, i) => i != n)
}
var array = [2,1,3,5,6,8,9,7]; function removeArray(array,n){ array.splice(array.indexOf(n),1); return array; } console.log(array); array = removeArray(array, 6); console.log(array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.