javascript数组常用属性及方法

    • 添加

// 数组添加删除方法
var arr=["张三","李四","王五"];

arr.unshift("开头")  //开头插入
arr.push("结尾")     //结尾插入
console.log(arr);

运行结果

2.删除

var arr=["张三","李四","王五"];
arr.unshift("开头")  //开头插入
arr.push("结尾")     //结尾插入
arr.pop() //删除最后一个元素
arr.shift() //删除第一个元素

运行结果

splice() 可用于删除,添加,替换具体使用

注意!该方法如果选择删除第0个元素则会报错,具体原因可自行百度

var arrNum = [1,2,3,4,5,6];
arrNum.splice(1,1); //会删除从1到1的元素=> [1,3,4,5,6];
 //如上如果已经删除了下表为1的元素,现在在执行该方法就应该变成[1,3,4,5,6]=>[1,4,4,5,6]
arrNum.splice(1,1,4);
arrNum.splice(1,0,2);//[1,4,4,5,6]=>[1,2,4,4,5,6] 从下表为1的前面添加一个元素

运行结果

slice()返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素

var arr = [1,2,3,4,5,6]
arr.slice(0,3);   //得[1,2,3,] 参数(起始参数,结尾参数不包含最后一个下标)

concat() 方法用于连接两个或多个数组

写法

var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3= arr1.concat(arr2);    //得arr3=>[1,2,3,4,5,6]

在es6中可以使用解构的方法直接连接两个或多个数组写法如下

var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3 = [...arr1,...arr2]; //得arr3=>[1,2,3,4,5,6]

sort ()排序

var arr=[7,8,6,1];
arr.sort()   //=>[1,6,7,8]

reverse() 方法用于翻转

var arr=[7,8,6,1];
arr.reverse();   //=>[1,6,8,7]

四种循环用法

  1. for循环

var arr = [1,2,3,4,5,6]
//for循环遍历数组
for (let index = 0; index < arr.length; index++) {
    const res = arr[index];
    console.log(res);
}
//字符串遍历也是如此
var str = "hello word";
for (let index = 0; index < str.length; index++) {
    const res = str[index];
    console.log(res);
}
  1. for in循环

var arr = [1,2,3,4,5,6]
//key为下标
for (var key in arr) {
    console.log(arr[key]);
}
  1. for of

var arr = [1,2,3,4,5,6]
//遍历的是属性值不是下标
for (const i of arr) {
     console.log(i);
}
  1. forEach

var arr = [1,2,3,4,5,6]
//forEach循环数组,三个参数分别为:属性值、对应的下标、数据源
arr.forEach((item,index,arr)=>{
    console.log(item,index,arr);
})

map()方法通过对每个数组元素执行函数来创建新数组

var arr = ['a','b','c']
//forEach循环数组,三个参数分别为:属性值、对应的下标、数据源
arr.forEach((item,index,arr)=>{
    return item+'s'      //forEach循环中是没有返回值的
});

var arr = ['a','b','c']
 arr.map((item,index,arr)=>{
    return item+'s'      // => 可直接返回新数组=>['as','bs','cs']
});

map实际运用

//声明一个数组对象
var arr = [{id:1,name:'张三'},{id:2,name:'张三2'},{id:3,name:'张三3'}]
//从arr这个数组对象中只获取id并以数组对象的形式返回{id:1}{id:2}...
var res= arr.map((item,index)=>{
    return {id:item.id}
})
console.log(res);

filter 筛选符合要求的

var arr = [{id:1,name:'张三'},{id:2,name:'张三2'},{id:3,name:'张三3'}]
var res= arr.filter((item,index)=>{
    return item.id==1;
})
console.log(res) //=> [{id:1,name:'张三'}]

//es6写法
var res = arr.filter(item=>item.id==2);

filter实现模糊查询也是比较简单下面看实例

reduce()方法接收一个函数作为累加器

var arr = [1,2,3,4,5,6];
//reduce()方法接收一个函数作为累加器,total参数代表每次数组元素累加后的总和,
//cur代表当需要继续累加的元素,0代表初始化起始值是多少
//例如当前起始值为0,那么当前的total等于0,0+1=>1等于cur =>2 就等于当前的total
var res = arr.reduce((total,cur)=>{
    return total+cur;
},0)
console.log(res);  //结果=>21

every() 方法检测当前元素是否都满足给定的条件

//every 对数组每个元素进行检测如果有一个不满足条件则返回false,全部满足返回true
var res = arr.every(item=>item<5);
console.log(res); //结果=>false,因为5和6不满足当前条件所以返回false

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吹空调的小八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值