数组方法总结

破坏性方法

1,push() 向数组的末尾添加一个或多个元素,并返回新数组的长度

var person = ["Banana", "Orange", "Apple", "Mango"]; 
person.push("Kiwi")
//Banana,Orange,Apple,Mango,Kiwi

2,unshift() 向数组的开头添加一个或多个元素,并返回新数组的长度

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
fruits.unshift("Lemon","Pineapple"); 
//Lemon,Pineapple,Banana,Orange,Apple,Mango

3,pop() 删除数组的最后一个元素,并返回被删除的这个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
fruits.pop(); 
//Banana,Orange,Apple

4,shift() 删除第一个元素,并返回被删除的这个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
fruits.shift()
//Orange,Apple,Mango

5,splice(a,b,c) 删除,替换,添加数组中的元素. a为起始位置,b为删除的个数,c为替换的元素(一个或多个),会返回被删除的元素,如果b为0,则将c放到索引为a的元素之前

var colors = ["red", "green", "blue", "yellow", "purple"]; 
var colors2 = colors.splice(2, 1, "red", "green"); 
console.log(colors);// ["red", "green", "red", "green", "yellow", "purple"] console.log(colors2);//["blue"]

6,reverse() 翻转数组 返回翻转后的数组 (高级)

var arr1 = [1, 2, 3, 4, 5];
var arr2 = arr1.reverse();  
console.log(arr2);// [5, 4, 3, 2, 1]

7,sort() 对数组进行排序 返回排序后的数组

var fruits = ["Banana", "Orange", "Apple", "Mango"];
 fruits.sort(); 
//Apple,Banana,Mango,Orange

非破坏性方法

1,slice(a,b) 用来截取数组 返回截取到的内容 从索引a开始截取 到索引b之前(不包括b)如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项(即左闭右开区间)。

var arr1 = [1, 2, 3, 4]; 
var arr2 = arr1.slice(0, 2); 
console.log(arr1);//[1, 2, 3, 4] 
console.log(arr2);//[1, 2]

2,indexOf(a,b) 获取元素在数组中的索引,第一个参数为要查询的元素,第二个参数为查询的起始索引,返回第一个a在数组中的索引,如果没有则返回-1

let newArr=persons.filter(function(item){ return item.username.indexOf(keyword)!==-1

3,concat() 用来合并数组 返回一个新的数组

var arr1 = [1, 2, 3]; 
var arr2 = arr1.concat([4,5,[6,7]]);
 console.log(arr1);//1,2,3 
console.log(arr2)//1,2,3,4,5:[6,7] lenght:6

4,join() 将数组中的元素拼接成一个字符串 参数是指定拼接时的符号 默认为逗号

var arr = new Array(3)
 arr[0] = "George" 
arr[1] = "John" 
arr[2] = "Thomas" document.write(arr.join("."))//George.John.Thomas

5,filter()把所有未选中的过滤出来,替换原来的数组此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回 源数组不变条件为true时返回到新数组中存储

var arr = [1,245,6,78,21] 
var newArr = arr.filter(function(fil){ // 如果过条件结果为true 则将返回元素存储到新数组中 return fil > 5 }) 
console.log(newArr)
 console.log(arr)

6,map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,按照原始数组元素顺序依次处理元素。

var numbers = [4, 9, 16, 25];
 function myFunction() { 
x = document.getElementById("demo") 
x.innerHTML = numbers.map(Math.sqrt); 
}
//输出结果为[2,3,4,5]

7,every() 功能:判断数组当中是否每一个都符合条 参数:类似map返回值:如果每个都符合条件,返回true如果又一个不符合 返回false

get(){ return this.todos.every(item => item.isOver) }, set(val){ this.$emit('updateAllTodo',val) }

8,find 功能:从数组找到符合条件的第一下标,后面不再查找,如果找不到返回undefined

返回值:找到返回这一项,找不到返回undefined

let obj = this.todos.find(item => item.id === id)

9,reduce()此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型:

var array = [1,2,3,4,5]; // a 累加和 b数组元素 
var add = array.reduce(function(a,b){ return a += b })
 console.log(add)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值