js数组方法(未完待续)

数组方法

push()在数组末尾添加一个或者多个数组元素

var arr = [1,2,3];
arr.push(4,5,6);
console.log(arr);//结果[1,2,3,4,5,6]
//1.数组可以给新数组添加新的元素
//2.push()参数直接写要添加的数组元素
//3.push()完毕返回是新数组的长度,原数组也会变化

unshift()在数组前添加一个或者多个数组元素

var ary =[1,2,3];
ary.unshift(4,5,6);
console.log(ary)//结果[4,5,6,1,2,3]
//1.数组可以给新数组添加新的元素
//2.unshift()参数直接写要添加的数组元素
//3.unshift()完毕返回是新数组的长度,原数组也会变化

pop()删除数组最后一个元素

var ary =[1,2,3,4];
ary.pop();
console.log(ary)//结果1,2,3
//1.删除数组最后一个元素,只能删除一个
//2.pop()没有参数,返回的结果是删除的那个元素
//3.原数组会发生变化

shift()删除数组第一个元素

var ary =[1,2,3,4];
ary.shift();
console.log(ary)//结果2,3, 4
//1.删除数组第一个元素,只能删除一个
//2.shift()没有参数,返回的结果是删除的那个元素
//3.原数组会发生变化

reverse()翻转数组

var ary = [1,2,3,4];
ary.reverse();
console.log(ary);//结果4 , 3 , 2 , 1

sort()数组排序(冒泡排序)

var ary =[6,5,3,1];
ary.sort();
console.log(ary);//结果1 , 3 , 5 , 6
//上面排序只适用于个位数排序
//如果:
var ary = [13,4,77,1,7,]
ary.sort(function(a,b){
  return a-b;//升序方法
  //return b-a //降序方法
});
cosole.log(ary);//结果1 , 4, 7, 13, 77

indexOf()在数组中查找需要元素的索引,找不到返回-1

var ary =["张三","李四","王五","赵六","七七"];
console.log(indexOf("李四"));//结果1
//从前向后,只返回第一个满足条件的索引号
//如果找不到返回-1
//*****第二个值默认不用给,给了是起始的位置

lastIndexOf()在数组中查找需要元素的索引,从后面开始查找

var ary =["张三","李四","王五","赵六","王五"];
console.log(lastIndexOf("王五"));//结果4
//从后向前找,只返回第一个满足条件的索引号
//如果找不到返回-1
//*****第二个值默认不用给,给了是起始的位置

toString()把数组转换为字符串,逗号分隔每个项

var ary =['1','2','3'];
console.log(ary.toString());//结果1, 2, 3

join()把数组转换为字符串,可以修改分隔符

var ary =['1','2','3'];
console.log(ary.join('-'));//结果1-2-3

splice()拼接位置,删除,添加

var arr = ["aaa", "bbb", "ccc", "ddd"];
arr.splice(2, 0, "ttt", "ppp");
cosole.log(arr)//结果:[aaa,bbb,ttt,ppp,ccc,ddd]

第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少元素。
其余参数(“ttt”,“ppp”)定义要添加的新元素。
splice() 方法返回一个包含已删除项的数组:

slice() 方法用数组的某个片段切出新数组。裁剪数组

var arr = ["a", "b", "c", "d", "e"];
var ary = arr.slice(1);//["b", "c", "d", "e"]

slice() 方法创建新数组。它不会从源数组中删除任何元素
slice() 可接受两个参数,比如 (1, 3)。
该方法会从开始下标截取元素,直到结束下标(不包括结束下标)为止。

concat() 方法通过合并(连接)现有数组来创建一个新数组

var ary = ["aaa", "bbb"];
var arr = ["ccc", "ddd", "eee"];
var ary = ary.concat(arr);   // 连接 ary 和 arr
//concat() 方法不会更改现有数组。它总是返回一个新数组。
//concat() 方法可以使用任意数量的数组参数
//concat() 方法也可以将值作为参数

forEach() 遍历数组,在参数中传入回调

var arr = ["ccc", "ddd", "eee"];
arr.forEach(function(item,index,array){//item每项的内容,index该数组的下标,array返回该数组
console.log(item);
console.log(index);
console.log(array);
})

map() 数组的映射,传参与forEach()方法一致

var arr = [2, 4, 6, 8, 10];
var arr2 = arr.map(function(item,index,array){
return item*item;
});
console.log(arr2);//[4, 16, 36, 64, 100]

some() 数组的查找匹配,只要满足部分条件就可以,返回布尔值,传参与forEach()方法一致

var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(item,index,array) {
return item < 3;
}); 
console.log(arr2);//true

every() 数组的查找匹配,只要满足所有条件,返回布尔值,传参与forEach()方法一致

var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(item,index,array) {
return item < 10;
}); 
console.log(arr2);//true

filter() 数组的查找,返回满足条件的数组项,传参与forEach()方法一致

var arr = [1, 2, 3, 4, 5];
var arr2 = arr.filter(function(item,index,array) {
return item < 10;
}); 
console.log(arr2);//[1, 2, 3, 4, 5]如果没有找到满足的项,返回空数组

ES6方法 …扩展运算符

var arr = [1, 2, 3, 4, 5];
console.log(...arr);//1 2 3 4 5 //转换成字符集

Array.from()用于将类数组对象(伪数组)或者可遍历对象转正真数组,必备条件:类数组对象必须具有length属性,类数组对象的属性必须为数值型或者字符串型的数字

var obj={
"0":22,
"1":"李",
"2":"5",
"length":3
}
let arr =Array.from(obj);
console.log(arr);//[22, "李", "5"]

遍历数组方法keys()对键名遍历(下标)丶values()对键值遍历(值)和entries()对键值对的遍历,需要配合for循环

for (let index of ["张三", "李四"].keys()) {
            console.log(index);//0 1
        }
for (let index of ["张三", "李四"].values()) {
            console.log(index);//张三 李四
        }
for (let index of ["张三", "李四"].entries()) {
            console.log(index);//[0,张三] [1,李四]
        }  

未完待续

发布了22 篇原创文章 · 获赞 26 · 访问量 631

猜你喜欢

转载自blog.csdn.net/HwH66998/article/details/103445936
今日推荐