Array的常用方法

来源:互联网 发布:淘宝视频缓冲地址 编辑:程序博客网 时间:2024/05/02 00:31

1.Array.of()创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个包含 7 个 undefined 元素的数组。

  Array.of(7);       // [7]   Array.of(1, 2, 3); // [1, 2, 3]  Array(7);          // [ , , , , , , ]  Array(1, 2, 3);    // [1, 2, 3]

2.Array.from() 方法从一个类似数组或可迭代的对象中创建一个新的数组实例。

  var bar = ["a", "b", "c"];  Array.from(bar);  // ["a", "b", "c"]  Array.from('foo');  // ["f", "o", "o"]

3.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

function unique3(array) {    var res = [],        seen,        sortedArray = array.concat().sort();    for(var i = 0, len = sortedArray.length; i < len; i += 1) {        if(!i || seen !== sortedArray[i]){            res.push(sortedArray[i]);        }        seen = sortedArray[i];    }    return res;}

4.every() 方法测试数组的所有元素是否都通过了指定函数的测试


5.filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

function unique(array){    var res = array.filter(function(item ,index, array){        return array.indexOf(item) === index;    })    return res;}

6.find() 方法返回数组中满足提供的测试函数的(第一个元素!!)的值。否则返回 undefined。


7.forEach() 方法对数组的每个元素执行一次提供的函数。


8.includes() 方法用来判断一个数组是否包含一个指定的值,如果是,返回 true或 false

  arr.includes(searchElement)  arr.includes(searchElement, fromIndex)

9.indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1

function unique(array) {    var res = [];    for(var i = 0, len = array.length; i < len; i += 1){        if(res.indexOf(array[i]) === -1) {            res.push(array[i]);        }    }    return res;}

10.join() 方法将数组(或一个类数组对象)的所有元素连接到一个字符串中(不会改变原数组!!)


11.keys() 方法返回一个新的Array迭代器,它包含数组中每个索引的键

  let arr = ["a", "b", "c"];   let iterator = arr.keys();   console.log(iterator.next());    // Object {value: 0, done: false}   console.log(iterator.next());    // Object {value: 1, done: false}   console.log(iterator.next());    // Object {value: 2, done: false}   console.log(iterator.next());    // Object {value: undefined, done: true}

12.map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果


13.pop()方法删除并返回数组的最后一个元素。此方法更改数组的长度。


14.push() 方法将一个或多个元素添加到数组的末尾,并返回数组的新长度!


15.reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。


16.shift() 方法删除并返回数组第一个元素,此方法更改数组的长度


17.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度


18.slice() 方法返回一个从开始结束不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,(不会改变原数组)

    var arr = [1, 2, 4, 5, 8]    var tem = arr.slice(1, 3);//[2, 4]

19.some() 方法测试数组中的某些元素是否通过由提供的函数实现的测试


20.sort() 方法在适当的位置对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。


21.splice()方法向/从数组中添加/删除项目,然后返回被删除的项目。(改变原数组)

array.splice(start)array.splice(start, deleteCount) array.splice(start, deleteCount, item1, item2, ...)
var arr = ['a', 'b', 'c', 'd', 'e'];arr.splice(2);   //arr变为['a', 'b']arr.splice(2, 0, 'c', 'd', 'e');  //arr变为['a', 'b', 'c', 'd', 'e']arr.splice(2, 4, 'f', 'g');  //arr变为['a', 'b', 'f', 'g']

22.toString()方法把数组转换为字符串,并返回结果。

 var monthNames = ['Jan', 'Feb', 'Mar', 'Apr']; var myVar = monthNames.toString(); // "Jan,Feb,Mar,Apr" 

附: 一道有意思的与toString()方法有关的题

    3.toString(); //error    3..toString();// "3"    3...toString();//error    .3.toString();//"3"    var a = 4;    a.toString();//"4"在js中3, 3., .3, 3.3都是合法数字,所以在解析3.toString()的时候,这个"."会当做和3一起的数字来解析

原创粉丝点击