首頁 > web前端 > 前端問答 > es6怎麼替換數組中指定元素

es6怎麼替換數組中指定元素

青灯夜游
發布: 2023-01-11 19:07:11
原創
3904 人瀏覽過

3種替換方法:1、使用括號表示法重新賦值,語法「arr[index] = '新元素值';」;2、使用Array.splice()替換,語法「arr.splice (index, 1, '新元素值');」;3、利用for迴圈來替換,語法「for(i=0;i

es6怎麼替換數組中指定元素

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

方法1:使用括號表示法重新賦值來取代陣列元素

實作想法:

  • 使用indexOf() 方法取得元素的索引。

  • 使用括號表示法來變更特定索引處元素的值。

  • 陣列元素的值將會就地更新。

範例:

const arr = ['a', 'b', 'c'];
const index = arr.indexOf('a'); // ?️  0
if (index !== -1) {
  arr[index] = 'z';
}
console.log(arr); // ?️ ['z', 'b', 'c']
登入後複製

es6怎麼替換數組中指定元素

#我們使用 Array.indexOf() 方法來取得值為a 的陣列元素的索引。

然後我們用新值取代了該索引處的元素。

請注意 ,如果 indexOf 方法沒有找到具有所提供值的元素,則傳回 -1。我們檢查該方法沒有傳回 -1 的索引,以確保存在具有指定值的元素。

JavaScript 中的索引從零開始,因此第一個元素的索引為 0,最後一個元素的索引為 arr.length - 1

或者,我們可以使用 array.splice() 方法。

方法2:使用Array.splice() 取代陣列中的元素

實作想法:

  • ##使用indexOf() 方法取得要替換的元素的索引。

  • 呼叫 Array.splice() 方法以取代特定索引處的元素。

  • 陣列元素將被替換到位。

範例:


const arr = ['a', 'b', 'c'];
console.log(arr); // ?️ ['a', 'b', 'c']
const index = arr.indexOf('b'); // ?️  1
arr.splice(index, 1, 'z');
console.log(arr); // ?️ ['a', 'z', 'c']
登入後複製

es6怎麼替換數組中指定元素

#我們將以下3 個參數傳遞給Array.splice() 方法:

  • start index - 開始更改陣列的索引。

  • delete count - 應該從陣列中刪除多少元素。

  • item1 - 要新增到陣列的項目。

我們將

start 索引設定為要取代的陣列元素的索引。

我們將刪除計數設為 1,因此 Array.splice() 方法將刪除指定索引處的陣列元素,並將提供的第三個參數新增至同一索引處。

在實踐中,我們刪除指定索引處的陣列元素,然後在同一索引處插入不同的值,因此我們最終替換了陣列元素。

另一種方法是使用基本的 for 迴圈。 **

方法3:使用for 迴圈取代陣列中的元素

實作想法:

  • 使用for 循環迭代array.length 次。

  • 在每次迭代中,檢查陣列元素是否是要替換的元素。

  • 如果滿足條件,則取代索引處的元素並跳出 for 迴圈。

範例:


const arr = ['a', 'b', 'c'];
console.log(arr); // ?️ ['a', 'b', 'c']
for (let index = 0; index < arr.length; index++) {
  if (arr[index] === &#39;c&#39;) {
    arr[index] = &#39;z&#39;;
    break;
  }
}
console.log(arr); // ?️ [&#39;a&#39;, &#39;b&#39;, &#39;z&#39;]
登入後複製

es6怎麼替換數組中指定元素

#我們使用了一個基本的 for 迴圈來遍歷陣列。在每次迭代中,我們檢查元素是否是我們想要替換的元素。

一旦我們找到並取代了元素,我們就會跳出循環以避免不必要的工作。

如果您想用特定值取代所有陣列元素,只需刪除 break 語句。

【推薦學習:

javascript影片教學

以上是es6怎麼替換數組中指定元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板