簡體   English   中英

Javascript - 使用索引替換數組中的多個元素

[英]Javascript - Replace multiple elements in an array using index

考慮以下 Javascript 數組:

var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W'];

現在我想通過以下方式一次替換索引 3 到 9 中的所有元素:

array1 = ['S', 'T', 'A', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'L', 'O', 'W'];

是否可以在 javascript 中實現?

注意:我只想使用數組執行以下操作

使用Array.fill()

 var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; array1.fill('X', 3, 10) console.log(array1)

使用數組 splice() 方法

 var array1= ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; // At position 3, delete 7 and add 7 elements: array1.splice(3, 7, "X","X","X","X","X","X","X"); console.log(array1);

一種方法是使用Array.prototype.map

這會循環遍歷數組的每個索引,如果索引在 3 到 9(含)之間,則將其設置為 'X',否則將其保留為原始 chr(字符)

 var array1 = ['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W']; var array2 = array1.map((chr, idx) => 3 <= idx && idx <= 9 ? 'X' : chr); console.log(array2);

確實如此。

const arr = ['a', 'b', 'c', 'd', 'e']

function replaceWithX(start, end) {
  for (let i = start; i <= end; i++) {
    arr[i] = 'x'
  }
}

replaceWithX(1, 3)

console.log(arr) // ["a", "x", "x", "x", "e"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM