js数组中的常用方法

js中操作数组的方法

创建数组的两种方法
  1. var arr=[ ];
  2. var arr=new Array();

1 .向数组中添加元素

添加元素的两种方法都会返回方法执行后的数组长度
>会改变原数组<

(1) unshift向数组的前面添加一个元素

	let arr = [1, 2, 3, 4];
    arr.unshift('叼毛');
    console.log(arr);  // ===>["叼毛", 1, 2, 3, 4]

(2) push向数组的末尾添加一个元素

	let arr = [1, 2, 3, 4];
    arr.push('叼毛');
    console.log(arr);  // ==>[1, 2, 3, 4, "叼毛"]

2.删除数组中的元素

这两个方法的返回值都是被删除的元素
>会改变原数组<

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

    let arr = [1, 2, 3, 4];
    arr.unshift();
    console.log(arr);  //===>[2, 3, 4]

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

    let arr = [1, 2, 3, 4];
    arr.pop();
    console.log(arr);  //===>[1,2, 3]

3.拼接,连接,反转

(5) concat 把多个数组进行拼接

返回值是拼接完成后的数组
>不会改变原数组<

    let arr1 = [1, 2, 3, 4];
    let arr2 = [5, 6, 7];
    let arr3 = [8, 9];
    // console.log(arr.shift());  //===>[1, 2, 3, 4]
    console.log(arr1.concat(arr2, arr3));
     // ==>[1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    console.log(arr2.concat(arr1, arr3));
     // ==>[5, 6, 7, 1, 2, 3, 4, 8, 9]

(6)join 连接数组内部的元素

返回值是连接完成的数组
>不会改变原数组<

	let arr = [1, 2, 3, 4];
    let newArr = arr.join('=叼毛=>');  
    console.log(newArr);   //===>1=叼毛=>2=叼毛=>3=叼毛=>4

(7)reverse 反转数组

返回值是反转后的数组
>会改变原数组<

    let arr = [1, 2, 3, 4];
    arr.reverse();
    console.log(arr);  //==>[4, 3, 2, 1]

高阶函数方法 map映射 和 filter过滤器

(8)map映射

返回值是处理后的数组
>不会改变原数组<
语法:
var 接收的数组 = 目标数组.map ( function (item,index,array){
能够用来调用数组中的 item项 index 索引 array是数组本身
能够 统一对数组所有元素进行操作
})

	 //原来的对象数组:
	 let arr = [{
        name: '叼毛一号',
        age: 23,
        sex: '未知'
    }, {
        name: '叼毛二号',
        age: 25,
        sex: '男'
    }, {
        name: '叼毛三号',
        age: 32,
        sex: '女'
    }];

	//使用map映射得到原数组对象中的部分属性
    let newArr = arr.map(function (item) {
        return {
            name: item.name,
            age: item.age
        }
    })

    console.log(newArr);   //获取到了arr中的name和age的属性和值

(9)filter过滤器

返回值是处理后的数组
>不会改变原数组<
语法 : let 接收的数组 = 目标数组.filter ( function (item,index,array){
能够用来调用数组中的 item项 index 索引 array是数组本身
能够 统一对数组所有元素进行条件的判定
})

	let arr = [1, 2, 3, 4];
    let newArr=arr.filter(function (item) {
        return item > 2;
    });
    console.log(newArr);  //====>  [3, 4]

indexOf和splice

(10)indexOf判断是否有要找的项

返回值:如果找到了对应的元素,返回值是数组中指定的元素位置【多个时候返回第一个】,如果没有找到返回值是-1
>不会改变原数组<

	//使用indexOf进行数组去重的操作
    let arr = [1, 2, 1, 2, 3, 4, 5, 6, 6, 0];
    let newArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i]);
        }
    }
    console.log(newArr);  //===>[1, 2, 3, 4, 5, 6, 0]

(11)splice 方法向/从数组中添加/删除项目

返回值 : 返回被删除的项目
>会改变原数组<
语法: 数组.splice(index(1),howmany(2),item1,…,itemX(3))
(1)必需:规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
(2)必需。要删除的项目数量。如果设置为 0,则不会删除项目。
(3)可选。向数组添加的新项目。

//向元素的第二个位置添加 叼毛 这个项
    let arr=[1,2,3,4,5,6];
    arr.splice(2,0,'叼毛');
    //  console.log( arr.splice(2,0,'叼毛'));  返回值  []
    console.log(arr);   //===> [1, 2, "叼毛", 3, 4, 5, 6]
    
//从元素的第二个位置向后删除3个
   let arr=[1,2,3,4,5,6];
    arr.splice(2,3);
    // console.log(arr.splice(2,3))返回值  [6]
    console.log(arr);   //===> [1, 2, 6]
    
//从数组的第二个位置开始向后删除两个,并用 叼毛 替代
    let arr=[1,2,3,4,5,6];
    arr.splice(2,2,'叼毛');
    //console.log(arr.splice(2,2,'叼毛')) 返回值  ["叼毛", 5]
    console.log(arr);   //===> [1, 2, "叼毛", 5, 6]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值