好久的没写文章了,有点愧疚啊….(面壁反省中…)。感觉不论写的水平如何,还是先要把自己写文章的习惯养成才行。文学能力略差,各位大佬勿喷.
数组创建
var arr = new Array("a","b","c");
或者
var arr = new Array(10);
//创建一个长度为10 的空数组
或者
var arr = ["a","b","c"]
目前没发现这两种方式有啥区别,如有大神知道,欢迎补充。
创建好访问就可以通过数组下标访问了,稍微有点基础的同学基本都知道,就不多BB了。
遍历数组
var arr = ["a","b","c"];
arr.forEach(function(item,index){
console.log(item,index)
})
或者
var al = arr.length;
for(var a=0;a<al;a++){
console.log(arr[a]);
}
两种方式可以通过自己代码当时的逻辑进行选择,各有各的优点吧。
数组元素添加
var arr = ["a","b","c"];
添加到最后面
arr.push("d"); // ["a","b","c","d"]
添加到最前面
arr.unshift("x") // ["x","a","b","c"];
数组元素的删除以及数组的切分
var arr = ["a","b","c","d","e","f"];
删除数组最后一项
arr.pop(); // ["a","b","c","d","e"]
删除数组第一项
arr.shift(); // ["b","c","d","e","f"]
截取数组的一部分
// 截取数组的某一部分,原数组变成截取后剩余的数组,返回值为截取的部分
arr.splice(1,4) // ["b","c","d","e"] arr=> ["a","f"]
// 第一个参数:1 指要截取的开始位置(下标)
// 第二个参数:4 指要截取的长度
获取数组的一部分
// 原数组不变,返回值为需要的数组
arr.slice(1,4) // ["b","c","d"] arr不变
// 第一个参数:1 指要获取数组的开始位置(下标)
// 第二个参数:4 指要获取数组的结束位置(下标)
复制一个数组
var new_arr = arr.slice()
//也可以通过转换字符串的方式 ,看个人喜好了....
var new_arr = arr.copyWithin()
// 这个方法并不常用,而且不是深度复制,当你改变new_arr后arr也会随着改变
获取数组某一元素下标
arr.indexOf("b") // 1
获取数组长度
arr.length // 6
填充数组
arr.fill("x",2,5) //[ 'a', 'b', 'x', 'x', 'x', 'f' ]
// 第一个参数:"x" 要填充的元素值
// 第二个参数为要填充的开始位置,第三个为要填充的结束位置(下标值)
颠倒数组的顺序
arr.reverse(); // [ 'f', 'e', 'd', 'c', 'b', 'a' ]
数组排序
arr.sort() // ["a","b","c","d","e","f"]
// 默认按首字母进行排序
// 方法接受一个function参数可以自己定义安什么排序,function返回1或者-1
合并两个数组
var arr1 = ["a","b","c"] var arr2 = [1,2,3]
var new_arr = arr1.concat(arr2) // [ 'a', 'b', 'c', 1, 2, 3 ]
// 合并以后返回的是一个全新的数组改变原有的arr1或者arr2不会影响new_arr
判断数组是否包含某个元素
var arr. includes("b") // true
// 后面还有一个参数 可以指定查找的开始位置
// 这个方法并不常用而且存在兼容性问题
用一个字符串连接数组元素
arr.join("-") // 'a-b-c-d-e-f'
// 常用这个方法用来吧数组转为字符串 参数可以为空或者空字符串
数组转为字符串
arr.toString() //'a,b,c,d,e,f'
arr.toLocaleString() //'a,b,c,d,e,f'
数组迭代器
var a = ['a', 'b', 'c'];
var iterator = a.entries();
console.log(iterator.next().value); // [0, 'a']
console.log(iterator.next().value); // [1, 'b']
console.log(iterator.next().value); // [2, 'c']
var arr = ['a', , 'c'];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
// 迭代器平时不怎么常用,但是在某些关键地方有时候还是会给我们带来很大的帮助的。
以上大概就是js中数组的一些常见的属性及方法了,如有遗漏欢迎各位大神及时指出补充。