var arry = []; var arry = ['數據1','數據2','數據3','數據4','數據5'] // ------- var arry = new Array() var arry = new Array(1,2,3,4) // ------- //判斷是不是數組 console.log(Array.isArray(arry))
var arr = [1,2,3,4] // 在末尾添加一個新的元素, arr[arr.lenght] = 5 // 或者 push arr.push(6,7) // 在首位添加一個新元素 arr.unshift(-1)
arr.pop(); //刪除數組中的第一值 arr.shift(); // 根據下標進行刪除 arr.splice(5,3) //索引爲5後的三個元素刪除 arr.splice(5,0 ,2,3,4) 從索引5插入元素,2,3,4。0表明插入,splice(數組的角標,刪除長度,.... 添加的元素 )
split
數組
var text = "若是每小時說一句情話令我詞窮大概須要大概317年"; var words = text.split(""); for (var i = 0; i < words.length; ++i) { console.log(i + words[i]); }
join()
toString()
函數
var names = ["David", "Cynthia", "Raymond", "Clayton", "Mike", "Jennifer"]; var namestr = names.join(); console.log(namestr); // name.toString();
淺拷貝並無將一個數組的指向改變,當numer[0] 棧內存改變後,numbers [0]由於指向沒有改變,因此numbers [0]的值也會變。編碼
var numer = []; for (var i = 0; i < 10; i++) { numer[i] = i + 1; } var numbers = numer; numer[0] = 400; console.log(numbers[0]);
深拷貝可使用copy方法來複制一個數組code
function copy(arry1,arry2){ for(var i = 0; i<arry1.lenght;i++){ arr2[i] = arr1[i]; } } var numer = []; for (var i = 0; i < 10; i++) { numer[i] = i + 1; } var numbers = []; copy(numer, numbers); numer[0] = 400; console.log(numbers[0]);
var arryData1 = [1,2,3,4] var arryData2 = [5,6,7,8] var data = arryData1.concat(arryData2)
var number = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] var isEver = function (x){ // 若是值爲2的倍數就返回true console.log(x) //不然就返回false return (x % 2 == 0) } //every方法會迭代數組中的每一個元素,直到返回false // number.every(isEver) // some 方法會將數組中的每個元素都進行一次迭代。直到函數返回true: // number.some(isEver);
若是是要進行將全部項進行輸出,咱們須要循環,或者forEach對象
numbers.forEach(function(x){ console.log((x % 2 == 0)); }); //方法一 var myMap = numbers.map(isEven); // 方法二 var evenNumbers = numbers.filter(isEven);
map方法會將數組中的沒有一個元素都給定一個新的元素數組,
filter對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組排序
var arry = [1,2,3,4,5,6,7,8,9] // 反序輸出數組 arry.reverse() sort() 方法用於對數組的元素進行排序 var arry= [1,2,3,4,5,6,7,11,15] console.log(arry.sort()) //[1, 11, 15, 2, 3, 4, 5, 6, 7]
sort() 是按照字符編碼的順序進行排序。首先應把數組的元素都轉換成字符串,以便進行比較。
// 咱們將建立一個數組,並按字母順序進行排序:索引
var arryName = [ 'ZhangSan', 'LiSi', 'WangErXiao', 'LiErGou', GouDan' ]; console.log(arryName.sort()) // ["GouDan", "LiErGou", "LiSi", "WangErXiao", "ZhangSan"]
若 a 小於 b,在排序後的數組中 a 應該出如今 b 以前,則返回一個小於 0 的值。
若 a 等於 b,則返回 0。
若 a 大於 b,則返回一個大於 0 的值。內存
var arry= [1,22,3,4,51,96,7,11,15] function compare(a, b) { if (a < b) { return -1; } if (a > b) { return 1; } // a必須等於 return 0; } arry.sort(compare); //[1, 3, 4, 7, 11, 15, 22, 51, 96]
// 應用,例如咱們一個數組裏面有張三,李四,王二狗三人的我的信息,如今要按照年齡排序字符串
var arry = [ { name: "ZhangSan", age: 18 }, { name: "LiSi", age: 35 }, { name: "WangErXiao", age: 30 }, ]; function compare(a, b) { if (a.age < b.age) { return -1; } if (a.age > b.age) { return 1; } // a必須等於 return 0; } console.log(arry.sort(compare)); // 0: {name: "ZhangSan", age: 18} 1: {name: "WangErXiao", age: 30} 2: {name: "LiSi", age: 35}
var arry = [1,2,3,4,5,6,7,8,9,10]; var index = arry.indexOf(10); console.log(index,'返回下角標')