附上一张速记表格:
<script> // 数组
// 数组的属性length var arr=[1,2,3,4,5,6]; // 获取数组的长度 console.log(arr.length); //6 // 设置数组的长度 arr.length = 3; console.log(arr.length); //3 console.log(arr); //[1, 2, 3] // 清空数组 arr.length = 0; // 数组的基本操作 // 1:[添加和删除元素] // 添加:push(元素),从尾部添加 [返回添加后的length, 修改原数组] // unshift(元素),从头部添加 [返回添加后的length, 修改原数组] // 删除:pop(), 从尾部删除 [返回被删除的元素] // shift(), 从头部删除 [返回被删除的元素] var arr=[1,2,3,4]; var arr1=arr.push(5); console.log(arr1===arr.length); console.log(arr); var arr2=arr.unshift(0); console.log(arr2===arr.length); console.log(arr); var arr3=arr.pop(); console.log(arr3===arr.length); console.log(arr); var arr4=arr.shift(); console.log(arr4===arr.length); console.log(arr); // 2:[splice方法(修改原数组),从数组中间添加、删除元素] var arr=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // 删除: splice(起点, 长度) arr.splice(2, 3); console.log(arr); //1, 2, 6, 7, 8, 9, 10 // 替换: splice(起点, 长度(>0), 元素...) arr.splice(2, 4, 'a', 'b', 'c'); console.log(arr); //1, 2, 'a', 'b', 'c', 10 // 插入: splice(起点, 0, 元素...) arr.splice(1, 0, 'A', 'B'); console.log(arr); //1, "A", "B", 2, "a", "b", "c", 10 // 3, concat()数组与数组拼接 var arrA=[1, 2, 3]; var arrB=[4, 5, 6]; console.log(arrA.concat(arrB)); //[1, 2, 3, 4, 5, 6] // 4, join()分隔数组元素[返回新数组] var arr = [1, "A", "B", 2, "a", "b", "c", 10]; console.log(arr.join('^')); //1^A^B^2^a^b^c^10 console.log(arr); //[1, "A", "B", 2, "a", "b", "c", 10] // 5, 排序数组元素 // 排序字符串[缺省值] var arr=['float', 'width', 'alpha', 'zoom', 'left']; console.log(arr.sort()); //["alpha", "float", "left", "width", "zoom"] // 排序数字[sort(比较函数)] var arr=[12, 34, 9, 11, 89, 10, 1]; console.log(arr.sort()); //[1, 10, 11, 12, 34, 89, 9] // 1)if判断元素,如果前一个元素小于后一个元素则返回负数, 如果前一个元素大于后一个元素则返回正数, 否则相等则返回0 // arr.sort(function (n1, n2){ // if(n1 < n2){ // return -1; //只要返回的是负数即可 // }else if(n1 > n2){ // return 1; //只要返回的是正数即可 // }else{ // return 0; // } // }); // console.log(arr); //[1, 9, 10, 11, 12, 34, 89] // 2)更简便的比较函数[比较的结果只要返回正负数即可, -1和1并不是唯一] arr.sort(function (n1, n2){ return n1-n2; }); console.log(arr); //[1, 9, 10, 11, 12, 34, 89] // 5, 反转数组元素 var arr=[1, 9, 10, 11, 12, 34, 89]; console.log(arr.reverse()); //[89, 34, 12, 11, 10, 9, 1] // 6, for-in遍历数组元素 var arr=[1,2,3,'A','B','C']; for(var key in arr){ console.log(arr[key]); } // 7, slice(起点,终点(不包括该元素))截取(复制)数组元素, 该方法不影响原数组 // PS: 注意第二个参数是指从数组索引为0的位置开始, 与splice(起点, 长度)是不一样的
var array = ["Cisio", "Borland", "Apple", "Dell", "Lenovo", "Acer", "Hp"]; console.log(array.slice(1, 3)); //["Borland", "Apple", "Dell"] console.log(array); //["Cisio", "Borland", "Apple", "Dell", "Lenovo", "Acer", "Hp"]
</script>