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,'返回下角标')