今天看了下数组常用的方法。虽然之前也用过一些,但是没总结过,也不知道数组具体有多少种方法,每个方法有没有返回值,返回值是什么。《JavaScript高级程序设计》中关于数组这一节讲的比较详细,看过后,自己总结了一下,具体有以下这些方法:
// var arr = [];
// console.log(arr.push(“aa”,”bb”)); //2 //push方法从数字尾部添加数据,并返回新数组的长度; 改变原数组
// console.log(arr); //[“aa”, “bb”]
// console.log(arr.push(“cc”)); //3
// console.log(arr); //[“aa”, “bb”, “cc”]
// console.log(arr.pop()); //cc //pop()方法用于移除数组最后一项,并返回该值; 改变原数组
// console.log(arr); //[“aa”, “bb”]
// var arr = [“aaa”,”bbb”];
// console.log(arr.shift()); //aaa //shift()方法用于移除数组第一项,并返回该值; 改变原数组
// console.log(arr); //[“bbb”]
// console.log(arr.unshift(“11″,”22″,”aa”)); //4 //unshift()方法用于从数组前端添加数组,并返回新数组的长度; 改变原数组
// console.log(arr); //[“11”, “22”, “aa”, “bbb”]
// var arr1 = [1,2,10,3,4,5];
// console.log(arr1.sort()); //[1, 10, 2, 3, 4, 5] //sort()方法; 改变原数组
// console.log(arr1); //[1, 10, 2, 3, 4, 5]
// console.log(arr1.reverse()); //[5, 4, 3, 2, 10, 1] //reverse()方法; 改变原数组
// console.log(arr1); //[5, 4, 3, 2, 10, 1]
// console.log(arr1.sort(function(n1,n2){
// return n1-n2;
// })); //[1, 2, 3, 4, 5, 10]
//concat()方法返回拼接之后的新数组; 不改变原数组
// var arr = [“aa”,”bb”,”cc”,”123″,”456″];
// console.log(arr.concat(“dd”,[“ee”,”ff”])); //[“aa”, “bb”, “cc”, “123”, “456”, “dd”, “ee”, “ff”]
//slice()方法取2个参数之间的值,包含第一个参数的位置,不包含第二个参数的位置; 不改变原数组
// var arr = [“aa”,”bb”,”cc”,”123″,”456″];
// console.log(arr); //[“aa”, “bb”, “cc”, “123”, “456”]
// console.log(arr.slice(1)); //[“bb”, “cc”, “123”, “456”]
// console.log(arr); //[“aa”, “bb”, “cc”, “123”, “456”]
// console.log(arr.slice(1,4)); //[“bb”, “cc”, “123”]
// console.log(arr); // [“aa”, “bb”, “cc”, “123”, “456”]
//splice()方法,会改变原数组,且始终返回一个数组,该数组中包含被删除的项目,如果没有删除项目,则返回空数组
// var arr = [“aa”,”bb”,”cc”,”123″,”456″];
// console.log(arr.splice(1,2)); // [“bb”, “cc”] //删除
// console.log(arr); //[“aa”, “123”, “456”]
// console.log(arr.splice(1,0,”red”,”green”)); // [] //插入
// console.log(arr); //[“aa”, “red”, “green”, “123”, “456”]
// console.log(arr.splice(3,2,”gray”,”blue”)); //[“123”, “456”] //替换
// console.log(arr); //[“aa”, “red”, “green”, “gray”, “blue”]
//改变原数组的方法
// push(),pop(),shift(),unshift(),sort(),reverse(),splice()
//不改变原数组的方法
// concat(),slice()
//数组迭代方法
// var arr = [1,2,5,4,8];
// var result = arr.every(item=>item>2); //每一项都满足条件,才返回true, 否则,返回false
// console.log(result); //false
// var result = arr.some(item=>item>2); //只要有一项满足条件,则返回true
// console.log(result); //true
// var result = arr.filter(item=>item>2); //返回符合条件的数组
// console.log(result); //[5, 4, 8]
// var result = arr.map(item=>item*2); //返回处理过后的数组
// console.log(result); //[2, 4, 10, 8, 16]
// var result = arr.reduce((pre, cur)=>pre+cur); //最后返回一个值
// console.log(result); //20
//arr.forEach(item=>{ … }) //没有返回值