大家好,又见面了,我是你们的朋友全栈君。
//(1)push()
//向数组最里面推一个或多个数据
var arr=[“色”,”等”,”烟”,”雨”];
arr.push(“而”,’我’,”在”);
console.log(arr);
//(2)unshift()
// 在数组的开头添加一个或多个数据
var arr=[“色”,”等”,”烟”,”雨”];
arr.unshift(“天”,”青”);
console.log(arr);
//(3)pop()
//在数据的尾部删除一个数据
var arr=[“色”,”等”,”烟”,”雨”];
arr.pop();
console.log(arr);
//(4)shift()
// 在数组的开头删除一个数据
var arr=[“色”,”等”,”烟”,”雨”];
arr.shift();
console.log(arr);
//(5)splice()
/* arr.splice(参数1,参数2,参数3,参数4,参数5,….参数n);
参数1表示要删除的开始位置,
参数2表示删除的个数,
参数3,参数4,参数5,….参数n,表示在删除位置添加的字符 */
var arr=[“色”,”等”,”烟”,”雨”];
arr.splice(1,2,”周”,”杰”,”伦”);
console.log(arr);
//(6)concat()
// 把两个或多个数组连接成一个数组
var a=[“八”,”百”,”标”,”兵”,”奔”,”北”,”坡”];
var b=[“炮”,”兵”,”并”,”排”,”北”,”边”,”跑”];
var c=[“炮”,”兵”,”怕”,”把”,”标”,”兵”,”碰”];
var d=[“标”,”兵”,”怕”,”碰”,”炮”,”兵”,”炮”];
console.log(a.concat(b)); //连接两个数组
console.log(a.concat(b,c,d)); //连接多个数组
//(7)sort()
//数组排序方法,默认是按照字符编码逐个字符进行排序
var num=[52,51,6,8,42,25];
console.log(num.sort());
num=num.sort(function(a,b){
return a-b; //升序排列
})
console.log(num);
num=num.sort(function(a,b){
return b-a; //降序排列
})
console.log(num);
结果分别为:
//(8)join()
// 按照我们特定的方式(指定字符)把数组转化成字符串
var arr=[“色”,”等”,”烟”,”雨”];
console.log(typeof arr.join(“”));
console.log(arr.join(“”));
console.log(arr.join(“*”));
结果分别为:
//(9)split()
//把字符串转化成数组(按照指定的字符进行分割)
var str=”天晴这-等烟-雨”;
console.log(str.split(”))
console.log(str.split(‘-‘))
结果分别为:
/(11)Array.isArray() 判断数据是否是数组
console.log(Array.isArray([2,3]));
console.log(Array.isArray((1)));
/* (12)forEach()
用于遍历我们的数组,对数组中的每一个元素进行操作,没有返回值
数组.forEach(function(value,index,arr){
})
value就是指数组的元素,index指下标。
arr指当前的数组,这个不常用
*/
var score=[26,35,85,45,90,100];
// 打印每个人的序号和分数
score.forEach(function(el,index){
console.log(index+”—–“+(el+10));
})
结果为:
/* (13)Map()
作用: 对数组进行遍历,进行某个操作,然后返回一个新的数组,
格式:
数组.map(function(value,index,arr){
操作
})
注意:
(1)在回调函数中,一定要有返回值
(2)map方法调用之后,会返回一个全新的数组,原来的数组不变 */
var score=[26,35,85,45,90,100];
var score2=score.map(function(val,index){
return val+30;
})
console.log(score2);
/* (14) filter()
作用: 用于进行过滤,筛选出符合条件的元素,组成一个新的数组返回,
格式:
数组.filter(function(value,index,arr){
})
基本上和map是差不多的 */
var score=[26,35,85,45,90,100];
var arr=score.filter(function(value,index){
return value>60;
})
console.log(arr);
/* (15)reduce()
本意:缩减,减少的意思,
作用: 将前一项和后一项的值进行运算,返回累积的结果.
格式:
数组.reduce(function(prev,next){
……
})
prev 表示前一项,next表示后一项
运算规则:
默认情况下,会把数组的第一个元素作为prev的初始值.
每循环一次,把累积的结果赋值给prev,next就变为下一个
数组元素 */
var arr=[1,2,3,4,5];
var sum=arr.reduce(function(prev,next){
return prev+next;
})
console.log(sum); //结果是:15
var sum=arr.reduce(function(prev,next){
console.log(prev +”—-“+next);
return prev+next;
})
console.log(sum);
/* (16)some()
作用: 只要数组中的某一个元素符合指定的条件,就返回真,
否则返回假,可以和逻辑运算符或(||)类比
格式:
数组.some(function(value,index,arr){….}) */
var pass=score.some(function(value,index){
return value<60;
})
console.log(pass); //结果为:true
/* (17)every()
作用:如果数组中所有的元素都符合指定的条件,才返回true,否则返回false ,
可以个逻辑运算符与(&)类比
格式:
数组.every(function(value,index,arr){….}) */
var pass=score.every(function(value,index){
return value<60;
})
console.log(pass); //结果为false
//(18)类数组
//Array.from() 把类数组转化为数组
var obj={
0:”a”,
1:”b”,
2:’c’,
3:’d’,
length:4
}
console.log(Array.isArray(obj)); //结果为false
obj=Array.from(obj);
console.log(obj); //结果为[“a”,”b”,”c”,”d”]
console.log(Array.isArray(obj)); //结果为true
//(19)
//new Array()这种方式声明的数组表现不统一,有缺点
var a1=new Array();
var a2=new Array(3);
var a3=new Array(‘3’);
var a4=new Array(3,4);
console.log(a1)
console.log(a2)
console.log(a3)
console.log(a4)
//使用Array.of之后,表现就统一了,都是定义数组的元素
var a1=Array.of(); //0
var a2=Array.of(3); //1
var a3=Array.of(‘3’);//1
var a4=Array.of(3,4);
console.log(a1)
console.log(a2)
console.log(a3)
console.log(a4)
/* (20)find:用于查找某个元素,如果找不到undefined;
findIndex:用于查找某个元素的索引,如果找不到就返回-1
其用法和map,foreach差不多 */
var goods=[
{
id:100,
name:'奥迪A8',
price:88.8
},
{
id:101,
name:'宝马x6',
price:98
},
{
id:102,
name:'奔驰s600',
price:130
},
]
//find
var car=goods.find(function(item,index){
return item.name=='宝马x6'
})
console.log(car); // 结果为: {id: 101, name: "宝马x6", price: 98}
//findIndex
var idx=goods.findIndex(function(item,index){
return item.id==103;
})
console.log(idx); //结果为-1
/* (21)fill
作用:给数据填充指定的值,
格式:数组.fill(值)
一般是在实例化一个数组之后进行填充的 */
var a1=new Array(5);
a1.fill(‘es6’);
console.log(a1); //结果为:[“es6”, “es6”, “es6”, “es6”, “es6”]
//如果数组本身有内容,会被覆盖
var a2=[2,3,4,5];
a2.fill(100);
console.log(a2); // [100, 100, 100, 100]
//在我们填充的时候,可以通过第二个参数和第三个参数来指定填充的起止位置,包括开始位置不包括结束位置
var a2=[2,3,4,5];
a2.fill(100,1,2);
console.log(a2);//结果为:[2, 100, 4, 5]
//(5)数组的扩展运算符(延展运算符,展开运算符)…
var obj2={
0:”a”,
1:”b”,
2:’c’,
3:’d’,
length:4
}
var a3=[…obj2]; // 把类数组转化数组
console.log(a3); //结果为
var a3=[1,2,3];
var a4=[4,5,6];
//相当于concat方法
console.log([…a3,…a4]); // 结果为:[“a”, “b”, “c”, “d”]
//(22)set
//新的格式 自动去除重复的项
var setobj=new Set([1,2,1,3,4,3,56]);
console.log(setobj); //结果为:{1, 2, 3, 4, 56}
console.log(Array.from(setobj)); //结果为:[1, 2, 3, 4, 56]
/* (23)indexof ===
查看数组中是否包含某一项,是就返回下标,否则返回-1 */
var colors=[‘orange’,’pink’,’purple’,’aqua’,’black’,”pink”];
console.log(colors.indexOf(‘pink’)); //1
console.log(colors.indexOf(‘pi’)); //-1
//(24)includes
// 返回的是一个布尔值:true or false
console.log(colors.includes(“aqu”)); //false
/* 小结:请列举出js中常用的数组方法:
push pop unshift sort slice splice reverse join concat
forEach Map filter reduce some every find findIndex
fill Array.isArray Array.from Array.of */
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137965.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...