JS內建物件——陣列物件
阿新 • • 發佈:2022-05-17
// 1、建立陣列
// (1)字面量建立
var arr1 = [1, 2, 3];
// (2)利用new Array()
var arr2 = new Array(); //建立空陣列
var arr3 = new Array(2); //建立長度為2的空陣列
var arr4 = new Array(2, 3); //等價於[2,3]
//2、檢測是否為陣列,,,,,instanceof isArray console.log(arr1 instanceof Array); console.log(Array.isArray(arr1)); //3、新增陣列元素,,,,,,,,push unshift // arr1.push(4, 'c'); //在陣列末尾新增 console.log(arr1.push(4, 'c')); //返回的是新增後陣列的長度 console.log(arr1); // arr1.unshift(55, 'c'); //在陣列前面新增 console.log(arr1.unshift(5, 'c')); //返回的是新增後陣列的長度 console.log(arr1); // 4、刪除元素,,,,,,pop shift // arr1.pop(); //刪除陣列最後一個元素 console.log(arr1.pop()); //返回的是刪除的元素 console.log(arr1); // arr1.shift(); //刪除陣列第一個元素 console.log(arr1.shift()); //返回的是刪除的元素 console.log(arr1); // 5、陣列排序 // (1)翻轉陣列 var newarr = [4, 2, 8, 11, 83] console.log(newarr.reverse()); //(2)排序,,,,單純的sort()只能解決個位數的排序問題 newarr.sort(function(a, b) { // return a-b; //升序 return b - a; //降序 }); console.log(newarr); // 6、陣列索引號 var arr4 = [4, 2, 8, 11, 4, 83, 2, 5] console.log(arr4.indexOf(2, 3)); //從前往後找,只返回第一個滿足條件的索引號,如果在該數組裡面找不到指定元素,則返回的是-1,從索引3的位置開始查詢 console.log(arr4.lastIndexOf(2)); //從後往前找,只返回第一個滿足條件的索引號,如果在該數組裡面找不到指定元素,則返回的是-1 //陣列去重案例 // 核心演算法:遍歷舊陣列,然後拿著舊陣列元素去查詢新陣列,如果該元素在新數組裡面沒有出現過,我們就新增,否則環新增。 function unique(arr) { var newArr = []; for (var i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } return newArr; } console.log(unique([4, 2, 8, 11, 4, 83, 2, 5])); // 7、陣列轉換為字串 console.log(arr4.toString()); //返回的是4,2,8,11,4,83,2,5 console.log(arr4.join('-')); //可以加分隔符,返回的是4-2-8-11-4-83-2-5 /* 8、concat(),array1.concat(array2),,連線兩個或多個數組不影響原陣列,返回一個新的陣列 slice(),陣列擷取slice(begin, end),返回被擷取專案的新陣列,[begin, end),陣列下標 splice(),陣列刪除splice(從索引數開始,[要刪除個數,要新增的元素]),返回被刪除專案的新陣列 注意,這個會影響原陣列 */