操作方法
1. concat() 拼接陣列
使用此方法可以拼接元素,并組成新陣列,結果回傳新陣列的副本,(不會影響原陣列)
// concat() 連接元素回傳新元素副本
var arr = ["zero",1,"two",3,"four",5,"six",7,"eight"];
// 連接一個元素
console.log(arr.concat(9)); // 回傳新陣列的副本
console.log(arr.concat("9"));
console.log(arr); // 依然是原陣列,這就證明此方法回傳的是一個副本
// 還能連接物件
console.log(arr.concat({"name":"Mike"})); // 回傳新陣列的副本
var moreArr = [9, "ten", 11, "twelve"];
// 連接另一個陣列
console.log(arr.concat(moreArr)); // 回傳新陣列的副本
// 其他
console.log(arr.concat(undefined,null,true,false,[1,2,3],{"name":"Lucy"}));

2. slice(start, end) 切片(截取片段)
使用此方法可以截取陣列元素,可以傳入一個引數或兩個引數,引數表示陣列下標索引,(不會影響原陣列)
傳入一個引數表示,截取從這個下標開始至陣列最后一個元素的所有項,
傳入兩個引數時,第一個引數表示開始截取的位置,第二個引數表示停止截取的位置(實際截取不到),也就是左閉右開,俗稱“顧頭不顧尾”,
// slice() 截取
var arr = ["zero",1,"two",3,"four",5,"six",7,"eight"];
// 傳一個引數,引數代表陣列下標 回傳該下標至陣列末尾的所有元素
console.log(arr.slice(1)); // [1, "two", 3, "four", 5, "six", 7, "eight"]
console.log(arr.slice(3)); // [3, "four", 5, "six", 7, "eight"]
// 傳兩個引數,第一個引數是開始位置,第二個引數是結束位置 顧頭不顧尾
console.log(arr.slice(1,4)); // [1, "two", 3]
console.log(arr.slice(3,6)); // [3, "four", 5]
// 傳負數
console.log(arr.slice(-1)); // arr.slice(9-1) => arr.slice(8) => ["eight"]
console.log(arr.slice(-5,-3)); // arr.slice(9-5, 9-3) => (4, 6) => ["four", 5]
console.log(arr); // 原陣列不變

3. splice(start, howmany, item1, moreitem...) 洗掉,插入,替換元素
此方法可以實作陣列元素的洗掉,插入和替換,(直接對原陣列產生作用)
可以輸入多個引數,依次是洗掉的初始下標,洗掉的元素個數(長度),補充的陣列元素,
當只輸入一個引數時,表示從該下標開始往后的所有陣列元素均被洗掉,
當輸入兩個引數時,第一個引數表示初始下標,第二個引數表示執行操作的長度,
當第二個引數為0時,表示并沒有執行洗掉,這時如果后面繼續存在引數,那么就會將這些值依次插入到從起始下標開始的位置,
當第二個引數非0時,而后面存在補充的元素時,就實作了替換,
// splice() 對陣列元素進行洗掉 插入 替換
var lessons = ["Chinese", "Math", "English", "Art", "History", "PE"];
// 從下標為1的元素開始,洗掉兩個長度位置上的元素,
console.log(lessons.splice(1,2)); // 回傳被移除的元素 ["Math", "English"]
console.log(lessons); // ["Chinese", "Art", "History", "PE"]
// 第二個引數表示長度,為 0 時表示洗掉長度為 0,從第三個元素開始就是補充的元素,這樣也就實作了插入的功能,
console.log(lessons.splice(1,0,"new lesson one", "new lesson two")); // []
console.log(lessons); // ["Chinese", "new lesson one", "new lesson two", "Art", "History", "PE"]
// 當第二個元素為2時,表示洗掉從下標1開始的兩個元素,并插入新的補充元素,這就實作了替換的功能,
console.log(lessons.splice(1,2,"Math2", "English2")); // 回傳被移除的元素 ["new lesson one", "new lesson two"]
console.log(lessons); // ["Chinese", "Math2", "English2", "Art", "History", "PE"]
// 只有一個引數時,表示從該下標開始洗掉后面所有的元素
console.log(lessons.splice(1)); // ["Math2", "English2", "Art", "History", "PE"]
console.log(lessons); // ["Chinese"]

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/144622.html
標籤:JavaScript
上一篇:VUE實作Studio管理后臺(二):Slot實作選項卡tab切換效果,可自由填裝內容
下一篇:JS復雜資料拆分重組
