<!-- 1.创建数组 -->
字面量方式[]
new Array()
<!--2. 检测是否为数组 -->
instanceof 运算符 //arr instanceof Array
Array.isArray() //Array.isArray(arr)
<!--3. 数组中有进行增加、删除元素的方法 -->
push() //末尾追加一个或多个元素 arr.push()
pop() //删除数组最后一个元素 arr.pop()
unshift() //开头添加一个或多个元素
shift() //删除第一个元素
<!--4. 排序 -->
reverse() //颠倒排序
sort() //排序 arr.sort(function(a,b){ return b-a;}),为降序
<!--5. 数组转换为字符串 -->
toString() //把数组转换为字符串,逗号分隔每一项
join('分隔符') //把数组中的所有元素转换为一个字符串 //join方法如果不传入参数,则按照 “ , ”拼接元素
<!--6. 操作数组 -->
concat() // 拼接数组 //var a = [1,2,3];document.write(a.concat(4,5));
slice() //截取数组 arrayObject.slice(start,end)
splice() //方法向/从数组中添加/删除项目,然后返回被删除的项目。 //arr.splice(2,1,"William") 从arr[2]删1个,替换为william
filter() //数组过滤方法创建一个新的数组 //arr.filter(item => item.num===2 )
<!-- 7.数组解构 -->
let [a, b, c] = [1, 2, 3]; //console.log(a)//1
<!-- 8.扩展运算符(展开语法) -->
let ary1 = [1, 2, 3];
let ary2 = [3, 4, 5];
...ary1 // 1, 2, 3
console.log(...ary); // 1 2 3,相当于下面的代码
合并数组:
let ary3 = [...ary1, ...ary2];
或ary1.push(...ary2);
将类数组或可遍历对象转换为真正的数组:
let oDivs = document.getElementsByTagName('div');
oDivs = [...oDivs];
<!-- 9.构造函数方法:Array.from() -->
let arrayLike = { //定义一个集合
'0': 'a',
'1': 'b',
length: 2
};
let arr2 = Array.from(arrayLike); // ['a', 'b'] //转成数组
let arrayLike = {
"0": 1,
"1": 2,
"length": 2
}
let newAry = Array.from(arrayLike, item => item *1) //[1,2]
<!-- 10.实例方法:find() -->
let ary = [{id: 1, name: '张三'}, { id: 2,name: '李四'}];
let target = ary.find((item, index) => item.id == 2);
//找数组里面符合条件的值,当数组中元素id等于2的查找出来,注意,只会匹配第一个 { id: 2,name: '李四'}
<!-- 11.实例方法:findIndex() -->
用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
let ary = [1, 5, 10, 15];
let index = ary.findIndex((value, index) => value > 9);
console.log(index); // 2
<!-- 12.实例方法:includes() -->
判断某个数组是否包含给定的值,返回布尔值。
[1, 2, 3].includes(2) // true
<!------------------------ 遍历数组的方法 ------------------------>
<!-- 13.数组方法forEach遍历数组 -->
arr.forEach(function(value, index, array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
})
<!-- 14.数组方法filter过滤数组 -->
var arr = [12, 66, 4, 88, 3, 7];
var newArr = arr.filter(function(value, index,array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
return value >= 20;
});
console.log(newArr);//[66,88] //返回值是一个新数组
<!-- 15.数组方法some -->
some 查找数组中是否有满足条件的元素
var arr = [10, 30, 4];
var flag = arr.some(function(value,index,array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
return value < 3;
});
console.log(flag);//false返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环
<!-- 16.最传统方法 for循环 -->
var arr = ["first",5,8];
for(var i = 0; i < arr.length;i++){
console.log(arr[i]);
}
//输出: first 5 8
<!-- 17.for…of -->
var arr = ["first",3,5];
for(var item of arr){
console.log(item);
}
//输出结果: first 3 5
<!-- 18.map 遍历数组 -->
//并通过callback对数组元素进行操作,并将所有操作结果放入数组中并返回该数组
var arr = ["first","second",'third' ,"fourth"];
var arr2 = arr.map(function(item){
return item.toUpperCase();
})
console.log(arr2);
//输出: [FIRST,SECOND,THIRD, FOURTH]
<!-- 19.every() -->
//当数组中的每一个元素在callback上被返回true时就返回true(注意:要求每一个单元项都返回true时才为true)
var arr = ["first","second",'third' ,"fourth",3,5,8];
var bol = arr.every(function(element){
if(typeof element == 'string'){
return element;
}
})
console.log(bol); //false
<!-- 20.获取数组索引 -->
var arr = ['red', 'green', 'pink'];
console.log(arr.indexOf('pink')); //2
<!-- match() 方法 -->
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
var str="Hello world!"
document.write(str.match("world") + "<br />")
输出 world