JS中数组常用的方法
1、Push
添加元素到数组最后
<script>
var arr = ["haha","hehe","xixi"];
arr.push("heihei");
console.log(arr)
</script>
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/c4f1bba59fcb88baca7853487ee9dd9d.jpeg)
2、Pop
将数组最后一个元素删除
<script>
var arr = ["haha","hehe","xixi"];
arr.
pop
();
console.log(arr)
</script>
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/133bd5d55d55fc88fcac6a1dd0f8335a.jpeg)
3、Shift
将数组最后一个元素删除
<script>
var arr = ["haha","hehe","xixi"];
arr.
shift
();
console.log(arr)
</script>
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/32ed1f25f38fbe1a619e998bacfa0a07.jpeg)
4、Unshift
添加元素在数组最前
<script>
var arr = ["haha","hehe","xixi"];
arr.unshift("heihei");
console.log(arr)
</script>
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/4ca0712fd6c916a88eec1ff14be9e2f8.jpeg)
5、Splice
删除从index开始的count数量元素
<script>
var arr = ["haha","hehe","xixi","heihei"];
arr.splice(1,2)
console.log(arr)
</script>
输出结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/ffd9f66df4efe0bd3475b0f9b793d3e9.jpeg)
6、forEach
纯粹的将数组从头到尾一次都不会少的进行遍历,没有返回值
<script>
var arr = ["haha","hehe","xixi","heihei"];
arr.forEach(function(v,i){
console.log(v
,i
)
})
</script>
比如在计算数组内元素的总和可以使用
7、Map
返回值是一个数组,数组中的每一个元素,是在遍历原数组每一个元素的时候return所决定的,返回值数组的个数和原数组完全一致
<script>
var arr = ["haha","hehe","xixi","heihei"];
var newArr = arr.map(function(v,i){
return "lulu"
})
console.log(newArr)
</script>
输出的结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/2fa939e75be9f8bd52a2756f6f77b1c3.jpeg)
8、Some
带有目的性的去查找数组中是否有满足条件的元素,如果有,那就不继续往下遍历了,返回值代表有没有找到
<script>
var arr = ["haha","hehe","xixi","heihei"];
var exists = arr.some(function(v,i){
console.log("在查找第"+i+"个元素")
if(v == "xixi"){
return true;
}
})
console.log(exists)
</script>
输出的结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/01c9a6e6d071454fce660d83454d4b6b.jpeg)
9、findIndex
带有目的性的去查找数组中是否有满足条件的元素,如果有,那就不继续往下遍历了,返回值代表的是那个目标元素的索引
<script>
var arr = ["haha","hehe","xixi","heihei"];
var index= arr.findIndex(function(v,i){
console.log("在查找第"+i+"个元素")
if(v == "xixi"){
return true;
}
})
console.log(index)
</script>
输出的结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/b54bbdbaf92433190d46256973e1f9a0.jpeg)
10、Filter
返回值是一个数组,数组中的每一个元素,在遍历元素组每一个元素的时候return true所决定的
和map的差别在于,map方法返回值的数组元素的数量和原数组一致,并且每个元素我们可以自己设定。而filter返回值元素的个数不一定和原数组一致,并且filter返回值数组中元素不能自己设定,是从原数组来的。
<script>
var arr = ["haha","hehe","xixi","heihei"];
var newArray = arr.filter(function(v,i){
console.log("在查找第"+i+"个元素")
if(v == "xixi" || v == "hehe"){
return true;
}
})
console.log(newArray)
</script>
输出的结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/be48bae3c5927d08647b7d88f9568060.jpeg)