ES5及ES6数组方法

 1.push() 从数组末端添加元素;返回新数组长度;

可同时添加多个元素,改变原数组;

Array.push(item);

2.pop()  删除数组最后一个元素;返回删除元素 ;改变原数组;

Array.pop();

3.unshift()  从数组前端添加元素;返回新数组长度 ;改变原数组;

Array.unshift(item);

4.shift() 删除数组第一个元素;返回删除元素 ;改变原数组;

Array.unshift();

5.includes() 数组是否包含一个指定的值;包含返回true,否则false;

Array.includes(item);

6.indexOf(item,开始索引); 检查数组中item的位置,返回item第一次出现的位置,

 如果不存在返回 -1;

 Array.indexOf(item,开始索引);

 参数二:开始索引位置可以指定,从指定索引位置向后查找;不设置,默认从索引为0开始;

7.lastIndexOf()  方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找。

如果要检索的元素没有出现,则该方法返回 -1。

array.lastIndexOf(item,start);

8.join('分隔符') 把数组中的所有元素转换一个字符串。元素是通过指定的分隔符进行分隔的。

分隔符如果不加,省略该分隔符参数,则使用逗号作为分隔符。

9.sort()  方法用于对数组的元素进行排序。改变原数组;

排序顺序可以是字母或数字,并按升序或降序。

默认排序顺序为按字母升序。

注意:当数字是按字母顺序排列时"40"将排在"5"前面。

使用数字排序,你必须通过一个函数作为参数来调用。

函数指定数字是按照升序还是降序排列。

一般:Array.sort(function(a,z){ return a - z});表示升序;

 var arr7 = [6, 22, 3, 1, 55]
        arr7.sort(az);
function az(a, z) {
            return a - z;
        }
        console.log(arr7);
        //倒序
        arr7.sort(za);
        function za(a, z) {
            return z - a;
        }
        console.log(arr7);

10.reverse() ;  数组元素翻转;改变原数组;

11.slice()方法可从已有的数组中返回选定的元素。不改变原数组;

可提取字符串的某个部分,并以新的字符串返回被提取的部分。

array.slice(startend);以数组返回提取的元素;

ES6新增方法:

1.tostring 方法可把数组转换为字符串,并返回结果;俗称去中括号;

注意: 数组中的元素之间用逗号分隔。

2.find(function(item,index,array){

        return item > 9;

item 是指每一个元素

index 是指每一个元素对应的索引

array 原数组

return 当条件成立时,返回第一个符合条件的值

var person = [{
            name: 'aa',
            age: 18
        }, {
            name: 'bb',
            age: 19
        }, {
            name: 'cc',
            age: 20
        }, {
            name: 'dd',
            age: 21
        }]
  var res = person.find(function (item, index, array) {
            console.log(item, index, array);
            return item.age > 19;
        })
        console.log(res); //只返回第一个符合要求的元素

3.filter(function(item,index,array){  //检测数值元素,并返回符合条件所有元素的数组。

        return item > 9;

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

4.every() 判断每一项是否满足判断条件,如果全部满足,返回true,有一个不满足返回false,不在继续检测

注意:every() 不会对空数组进行检测;

注意 :every() 不会改变原始数组。

 var person = [{
            name: 'aa',
            age: 18
        }, {
            name: 'bb',
            age: 19
        }, {
            name: 'cc',
            age: 20
        }, {
            name: 'dd',
            age: 21
        }]
var res = person.every(function (item) {
            return item.age >= 18;
        })
console.log(res);
console.log(res ? '全部成年' : '有未成年');

5.some()是只要有一个元素满足条件返回 true,全部元素都不满足返回false;

some() 方法用于检测数组中的元素是否满足指定条件( 函数提供)。

some() 方法会依次执行数组的每个元素

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。

如果没有满足条件的元素,则返回false。

6.reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

 语法:array.reduce(function(acc,currentValue,currentIndex,array){

        //                      return acc+ currentValue;

        //              },initialValue)

        //形参表示意思:

        // acc表示初始值,用于计算返回值;(必选)

        //currentValue 表示当前值 (必选)

        ///currentIndex 表示当前索引(可选)

        //array 表示当前的数组 (可选)

        // initialValue表示 传递给函数的初始值(可选),不写默认是total = 0

7.map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

一般对数组的每一个元素进行相同的运算时会比较方便;

  var res = arr1.map(function (item) {
            return item * 10 + 'px'
        })
console.log(res);

8.forEach()方法:数组每个元素都执行一次回调函数,遍历数组的每一个元素;

var sum = 0;
        var res = arr1.forEach(function (item, index, arr) {
            console.log(item);
            sum += item;
        })
console.log(sum);

9.findIndex() 返回第一个满足条件的值的 索引

 let arr2 = [1, 3, 5, 7];
        var res = arr2.findIndex(function (item) {
            return item > 3;
        })
console.log(res); //--> 2

10.from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。

如果对象是数组返回 true,否则返回 false。

你可能感兴趣的:(JS,es6,前端)