JavaScript数组常用的方法

1. 数组的创建

js中一般有两种方式创建数组;


        //1. 数组的创建
        var arr = [1,2,1,3,6,8,7];
        //第一种直接用方括号括起来,里面元素用逗号隔开。
        var arr_sec = new Array(1,2,3);
        //第二种则是直接用Array 对象创建。

2.方法

(1)push 方法

        arr.push(num);
        //arr.push(num) 在数组尾部添加一组新的数据

此方法会改变原数组,而且它返回的值是被改变后数组的长度

(2)pop 方法

        arr.pop();
        //arr.pop() 在数组尾部删除一组数据

此方法会改变原数组,而且它返回的值是被删除的值

(3)unshift 方法

        arr.unshift(num);
        //arr.unshift(num) 在数组头部添加一组新数据

此方法会改变原数组,而且它返回的值是被改变后数组的长度

(4)shift 方法

        arr.shift();
        //arr.shift() 在数组头部删除一组数据

此方法会改变原数组,而且它返回的值是被删除的值

(5)reverse 方法

        //翻转数组reverse()
        var arrRe = arr.reverse();

此方法会改变原数组,而且它返回的是一个新数组

(6)sort 方法

        //数组排序sort()
        arrSo = arr.sort(function(a,b) {
        return a - b; //升序
        // return b - a; //降序
        // return Math.random(a) - 0.5; //随机数组
        });

此方法会改变原数组,而且它返回的是一个新数组,这里的随机还不是足够优化的随机,假如要随机优化建议使用洗牌算法

(7)concat 方法

        // 连接两个数组 concat() 此方法并不会改变原数组
        arrCa = arr.concat(arr_sec);

此方法不会改变原数组,而且它返回的是一个新数组

(8)join 方法

        //转换字符串 join() 可以自定义分隔符 此方法并不会改变原数组
        arrJo = arr.join('|');

此方法不会改变原数组,而且它返回的是一个新数组

(9)slice 方法

        //截取数组并返回slice() 内跟两个参数,从几位开始截取,截取至几位
        arrSl = arr.slice(2,4);

此方法不会改变原数组,而且它返回的被截取的参数

(10)splice 方法

        // splice() 插入、删除、修改数组
        // 第一参数表示起始位,第二参数表示要删除的项(数目),第三位表示在起始位(这里是10)插入元素
        var itemArr = arr.splice(10,3,'我是插入的第一个元素','我是插入的第二个元素');

此方法会变原数组,而且它返回的被截取的参数

(11)forEach 方法

        var sum = 0;
        //forEach()迭代(遍历)
        arr.forEach(function(value,index,array) {
            // console.log('每个数组元素' + value);
            // console.log('每个数组元素的索引号' + index);
            // console.log('数组本身' + array);
            return sum += value;
        });
        console.log(sum);
        console.log(arr);
        //value:数组里面每个元素; index:每个元素的索引号; array:数组的本身

(12)filter 方法

        // filter 筛选数组
        var arr = [5,11,6,7,9,12,19,17];
        var newArray = arr.filter(function(value, index, array) {
            //1. 如果要筛选某组数据,只要return与之相对应的条件即可
            // return value >= 10;
            // return value %2 === 0;
            // return index %2 === 0;
            return index %2 === 1;
        });
        console.log(newArray);
         //value:数组里面每个元素; index:每个元素的索引号; array:数组的本身

(13)some 方法

        // some 查找数组中是否有满足条件的元素
        var arr = [1,2,3];
        var arrS = arr.some(function(value,index,array) {
            return value > 2;
        });
        console.log(typeof arrS);
        //value:数组里面每个元素; index:每个元素的索引号; array:数组的本身

此方法方法返回的是布尔值

(14)every 方法

        var arr = [1, 3, 5, 8]
        // every() 方法主要用于查询数组中是否有不满足条件的元素,同some不同只要有一个不满足则返回 
        //false
        arr.every((value, index, array) => {
            return value === 9;
        });
        //value:数组里面每个元素; index:每个元素的索引号; array:数组的本身

此方法方法返回的是布尔值

(15)reduce 方法

        var arr = [1, 2, 31, 22, 1, 2, 2, 112];
        // reduce() 常用于前一个值与后一个值的累加,它有四个参数,分别为累加值,当前值,下标,和数 
        //组本身
        var sum = arr.reduce(function (prev, now, index, self) {
            return prev + now;
        }, 0);

此方法不会改变原数组,返回的是一个新值。

(16)map 方法

        var arr = [1, 16, 4, 25, 9];
        // map() 常用于遍历数组内数据计算,内容拼接等,它返回的是一个新数组,
        var getSqrt = arr.map(function (value, index, self) {
            return Math.sqrt(value);
        });
        //它有三个参数,分别为数组里每个元素,数组下标,和数组本身

此方法不会改变原数组,返回的是一个新数组。

(17)Array.from 方法

        //Array.from() 将伪数组转换成数组
        let arr = {
            '0':1,
            '1':2,
            '2':3,
            length: 3
        };
        var ary = Array.from(arr,item => item * 2);

此方法并不会改变原伪数组,返回的是一个新数组。

(18)find 方法

        //find() 方法 用于找出第一个符合条件的数组成员,没有找到则返回undefined
        let ary = [{
            id: 1,
            name: 'jj',
        },{
            id: 2,
            name: 'dd',
        }];
        let target = ary.find((item,index) => item.id == 2);

此方法不会改变原数组,返回的是一个新值。

(19)findIndex 方法

        //findIndex()方法,用于找出第一个符合条件的数组成员的位置,如果没有找到则返回-1
        let arr = [1, 2, 3, 4, 5];
        let arr1 = arr.findIndex(value => value > 3);
        console.log(arr1);

此方法不会改变原数组,返回的是一个Number。

(20)includes 方法

        //Includes()方法,表示某个数组是否包含给定的值,返回布尔值
        let arr = [1, 2, 3, 4, 5];
       console.log(arr.includes(3)); //ture
       console.log(arr.includes(6)); //flase

此方法不会改变原数组,返回的是一个布尔值。

3.总结

学js有一段时间了,数组是js的重点,目前也就掌握了这一些方法,希望能帮助到有需求的人,假如哪里写的不对的地方,欢迎大家指出来~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用JavaScript编写程序时,数组是一种常见的数据结构,JavaScript 数组具有许多有用的方法,以下是其中一些常用方法及其示例: 1. push() 方法:向数组末尾添加一个或多个元素,并返回新的长度。 ```javascript let arr = [1, 2, 3]; arr.push(4); console.log(arr); // [1, 2, 3, 4] ``` 2. pop() 方法:删除数组的最后一个元素,并返回该元素的值。 ```javascript let arr = [1, 2, 3]; let lastElement = arr.pop(); console.log(lastElement); // 3 console.log(arr); // [1, 2] ``` 3. shift() 方法:删除数组的第一个元素,并返回该元素的值。 ```javascript let arr = [1, 2, 3]; let firstElement = arr.shift(); console.log(firstElement); // 1 console.log(arr); // [2, 3] ``` 4. unshift() 方法:向数组的开头添加一个或多个元素,并返回新的长度。 ```javascript let arr = [1, 2, 3]; arr.unshift(0, -1); console.log(arr); // [-1, 0, 1, 2, 3] ``` 5. slice() 方法:返回一个新的数组,包含从起始位置到结束位置(不包括结束位置)之间的元素。 ```javascript let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 4); console.log(newArr); // [2, 3, 4] ``` 6. splice() 方法:向数组中插入或删除元素。可以指定要删除的元素的位置和数量,并且可以指定要添加的元素。 ```javascript let arr = [1, 2, 3, 4, 5]; arr.splice(2, 1); // 从位置2开始删除1个元素 console.log(arr); // [1, 2, 4, 5] arr.splice(2, 0, 3); // 在位置2插入元素3 console.log(arr); // [1, 2, 3, 4, 5] arr.splice(2, 1, 'three'); // 用 'three' 替换位置2的元素 console.log(arr); // [1, 2, 'three', 4, 5] ``` 7. indexOf() 方法:返回数组中第一个匹配项的索引。 ```javascript let arr = [1, 2, 3, 4, 5]; let index = arr.indexOf(3); console.log(index); // 2 ``` 8. lastIndexOf() 方法:返回数组中最后一个匹配项的索引。 ```javascript let arr = [1, 2, 3, 4, 3, 5]; let lastIndex = arr.lastIndexOf(3); console.log(lastIndex); // 4 ``` 9. forEach() 方法:对数组中的每个元素执行指定的操作。 ```javascript let arr = [1, 2, 3]; arr.forEach(function(item) { console.log(item); }) // 输出:1 2 3 ``` 10. map() 方法:返回一个新的数组,其中包含对原始数组中的每个元素应用指定函数后的结果。 ```javascript let arr = [1, 2, 3]; let newArr = arr.map(function(item) { return item * 2; }) console.log(newArr); // [2, 4, 6] ``` 11. filter() 方法:返回一个新的数组,其中包含满足指定条件的原始数组元素。 ```javascript let arr = [1, 2, 3, 4, 5]; let newArr = arr.filter(function(item) { return item % 2 === 0; }) console.log(newArr); // [2, 4] ``` 12. reduce() 方法:返回一个值,该值是通过对数组中的每个元素应用指定的函数来计算的。 ```javascript let arr = [1, 2, 3]; let sum = arr.reduce(function(total, item) { return total + item; }, 0) console.log(sum); // 6 ``` 以上是一些常用JavaScript 数组方法及其示例,它们可以帮助你轻松地对数组进行操作,实现各种有用的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值