考慮以下 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 中實作?
注意:我只想使用陣列執行以下操作
uj5u.com熱心網友回復:
用 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)
uj5u.com熱心網友回復:
使用陣列 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);
uj5u.com熱心網友回復:
一種方法是使用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);
uj5u.com熱心網友回復:
確實如此。
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"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342670.html
標籤:javascript 数组
下一篇:如何將陣列物件移動到第一個索引
