javascript - 怎樣去除數(shù)組里的幾個(gè)值,只提供該數(shù)組的下標(biāo)的話
問題描述
splice去除會(huì)一直更換數(shù)組,更換下標(biāo),所以我之前記住的下標(biāo)沒用。
問題解答
回答1:先刪除下標(biāo)大的再刪除下標(biāo)小的
把數(shù)組換成對(duì)象,使用delete方法刪除,下標(biāo)就不會(huì)變了
回答3:數(shù)組的map方法 剔除指定的索引位置的元素 新生成一個(gè)數(shù)組
或者直接filter方法
回答4:可以試一下,新建一個(gè)新的數(shù)組,然后循環(huán)你要做修改的那個(gè)數(shù)組,如果下標(biāo)不是你要?jiǎng)h的那個(gè)數(shù),那就把這個(gè)位置上的元素push到你的新的數(shù)組里,如果下標(biāo)是你要?jiǎng)h的那個(gè)數(shù),直接continue跳出循環(huán)這樣循環(huán)結(jié)束之后,新的數(shù)組就是你需要的數(shù)組,再把它賦值給舊數(shù)組就好了
回答5:生成新數(shù)組的話:
arr = [1,2,3,4,5,6,7]removes = [1,3,5]arr = arr.filter(function(value, index) { return removes.indexOf(index) < 0});
不生成新數(shù)組:
arr = [1,2,3,4,5,6,7]removes = [1,3,5]Array.prototype.remove = function(removes){ removes.sort(function(a, b) {return a - b; }).reverse().forEach(function(value){this.splice(value, 1) }.bind(this))};arr.remove(removes)
