资讯专栏INFORMATION COLUMN

JS学习数组Array方法集合

Object / 735人阅读

摘要:标准用法,作用数组元素颠倒位置,传参无返回值颠倒后的数组。,传参指定一个字符串来分隔数组的每个元素选返回值一个所有数组元素连接的字符串标准用法的值变为的值变为作用并两个或多个数组。

1.Array数组的方法

Mutator方法————"突变方法"会改变数组自身的值;

Accessor方法————"访问方法"不会改变数组自身的值;

Iteration方法————"遍历的方法" ;

2.Mutator方法

[ ].push作用:将一个或多个元素添加到数组的末尾,传参:(单个或多个数组元素);返回值:新数组的长度;

 //标准用法
 arr.push(el1, el2 ……elN);
 //合并两个数组
 [].push.apply(arr1, arr2)

[].pop()作用:删除最后一个元素,传参:无;返回值:删除的元素。

//标准用法
let a = [1 ,2 ,3 ];
a.pop();//3

[ ].unshift作用:将一个或多个元素添加到数组的开头,传参:(单个或多个数组元素);返回值:新数组的长度;

 //标准用法
 arr.unshift(el1, el2 ……elN);

[].shift()作用:删除第一个元素,传参:无;返回值:删除的元素。

//标准用法
let a = [1 ,2 ,3 ];
a.shift();//1

[].reverse()作用:数组元素颠倒位置,传参:无;返回值:颠倒后的数组。

//标准用法
arr.reverse()

[].splice()作用:数组元素颠倒位置,传参:(索引,删除个数【选】,要添加的元素【选】);返回值:被删除的元素组成的一个数组。

//标准用法
array.splice(start)
array.splice(start, deleteCount) 
array.splice(start, deleteCount, item1, item2, ...)

[].fill()作用:用一个固定值填充一个数组中从起始索引到终止索引内的全部元素,传参:(用来填充数组元素的值,起始索引【选】,终止索引【选】);返回值:修改后的数组。

//标准用法
arr.fill(value) 
arr.fill(value, start) 
arr.fill(value, start, end)
//例子
[1, 2, 3].fill(4)            // [4, 4, 4]
[1, 2, 3].fill(4, 1)         // [1, 4, 4]
[1, 2, 3].fill(4, 1, 2)      // [1, 4, 3]

[].sort()作用:对数组的元素进行排序,并返回数组,传参:(指定排列顺序的函数【选】);返回值:排列后的数组。

//标准用法
arr.sort() 
arr.sort(compareFunction)
//例子
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});// [1, 2, 3, 4, 5]

3.Accessor方法

[ ].join作用:将数组(或一个类数组对象)的所有元素连接到一个字符串中。,传参:(指定一个字符串来分隔数组的每个元素【选】);返回值:一个所有数组元素连接的字符串;

//标准用法
var a = ["Wind", "Rain", "Fire"];
var myVar1 = a.join();      // myVar1的值变为"Wind,Rain,Fire"
var myVar2 = a.join(", ");  // myVar2的值变为"Wind, Rain, Fire"
 

[ ].concat作用:并两个或多个数组。,传参:(将数组和/或值连接成新数组【选】);返回值:合并后的数组;

//标准用法
var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];
alpha.concat(numeric);
//["a", "b", "c", 1, 2, 3]
 

[ ].slice作用:方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组。,传参:(开始索引【选】,结束索引【选】);返回值:截去后的数组;

//标准用法
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
//["Orange","Lemon"] 
  //类数组转数组
function list() {
 return [].slice.call(arguments)}
var list1 = list(1, 2, 3); // [1, 2, 3]  
 

[ ].toString作用:返回一个字符串,表示指定的数组及其元素,传参:(无);返回值:转化成的字符串;(=[].join()

//标准用法
var monthNames = ["Jan", "Feb", "Mar", "Apr"];
var myVar = monthNames.toString(); // assigns "Jan,Feb,Mar,Apr" to myVar.
 

[ ].includes作用:判断一个数组是否包含一个指定的值,传参:(要查找的元素);返回值:true或 false;

//标准用法
let a = [1, 2, 3];
a.includes(2); // true 
a.includes(4); // false  

[ ].indexOf作用:在数组中可以找到一个给定元素的第一个索引,传参:(要查找的元素);返回值:找不到-1,找得到索引;

var array = [2, 5, 9];
array.indexOf(2);     // 0
array.indexOf(7);     // -1
 

4.Iteration方法

[ ].forEach作用:每个元素执行一次提供的函数,传参:(callback(当前元素,索引,该数组));返回值:无;

 //标准用法
 array.forEach(callback(currentValue, index, array){
 //do something
}, this)
  

[ ].find作用:返回数组中满足提供的测试函数的第一个元素的值,传参:(callback(当前元素,索引,该数组));返回值:该元素;([].findIndex()返回索引)

 //标准用法
 array. find(callback(currentValue, index, array){
 //do something
}, this)
  

[ ].filter作用:创建一个新数组, 其包含通过所提供函数实现的测试的所有元素,传参:(callback(当前元素,索引,该数组));返回值:通过测试的元素的集合的数组;

 //标准用法
 let arr = array. filter(callback(currentValue, index, array){
 //do something
 }, this)
  

[ ].map作用:创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。,传参:(callback(当前元素,索引,该数组));返回值:一个新数组,每个元素都是回调函数的结果;

 //标准用法
 var numbers = [1, 4, 9];
 var roots = numbers.map(Math.sqrt);
 // roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
  

[ ].every作用:测试数组的所有元素是否都通过了指定函数的测试;传参:(callback(当前元素,索引,该数组));返回值truefalse

   //标准用法
   function isBigEnough(element, index, array) {
    return (element >= 10);}
   var passed = [12, 5, 8, 130, 44].every(isBigEnough);// passed is false
   passed = [12, 54, 18, 130, 44].every(isBigEnough);// passed is true
    

[ ].some作用:测试数组的某些元素是否都通过了指定函数的测试;传参:(callback(当前元素,索引,该数组));返回值truefalse

   //标准用法
   function isBigEnough(element, index, array) {
    return (element >= 10);}
   var passed = [1, 5, 8, 3, 4].some(isBigEnough);// passed is false
   passed = [2, 4, 18, 13, 4].some(isBigEnough);// passed is true
    

[ ].reduce作用:对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值;传参:(callback(累加器accumulator,当前元素,索引,该数组));返回值:函数累计处理的结果;

   //标准用法
   var total = [0, 1, 2, 3].reduce(function(sum, value) {
    return sum + value;
  }, 0);// total is 6

   var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
    return a.concat(b);}, []);
    // flattened is [0, 1, 2, 3, 4, 5]
    

[ ].entries作用:返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对;传参:(无));返回值:一个新的 Array 迭代器对象;

   //标准用法
   var arr = ["a", "b", "c"];
   var iterator = arr.entries();// undefined
   console.log(iterator);// Array Iterator {}
   console.log(iterator.next().value); // [0, "a"]
   console.log(iterator.next().value); // [1, "b"]
   console.log(iterator.next().value); // [2, "c"]

[ ].values作用:数组转对象;传参:(无));返回值:一个新的 Array 迭代器对象;

   //标准用法
   let arr = ["w", "y", "k", "o", "p"];
   let eArr = arr.values();// 您的浏览器必须支持 for..of 循环
   // 以及 let —— 将变量作用域限定在 for 循环中
  for (let letter of eArr) {
         console.log(letter);}

参考资料:https://developer.mozilla.org...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89238.html

相关文章

  • 学习笔记: JS数组

    摘要:数组元素甚至可以是对象或其它数组。它执行的是浅拷贝,这意味着如果数组元素是对象,两个数组都指向相同的对象,对新数组中的对象修改,会在旧的数组的相同对象中反应出来。 JS中的数组是弱类型的,数组中可以含有不同类型的元素。数组元素甚至可以是对象或其它数组。JS引擎一般会优化数组,按索引访问数组常常比访问一般对象属性明显迅速。数组长度范围 from 0 to 4,294,967,295(2^...

    archieyang 评论0 收藏0
  • JavaScript学习总结(二)数组和对象部分

    摘要:属性是一个值或一组值以数组或对象的形式,是对象的成员。可以使用内置构造函数和创建包装对象。因此下面的代码将会使人很迷惑结果结果,此数组长度为应该尽量避免使用数组构造函数创建新数组。给数组对象添加返回数组中最大元素值的方法。 对象部分 Object类型 Object 是一个无序的集合,可以存放任意类型对象,所有其他对象都继承自这个对象。创建Object类型有两种,一种是使用new运算符,...

    Lsnsh 评论0 收藏0
  • 《深入理解ES6》笔记——Set集合与Map集合(7)

    摘要:常被用来检查对象中是否存在某个键名,集合常被用来获取已存的信息。返回一个布尔值,表示该值在中存在与否。集合存放对象的弱引用,当该对象的其他强引用被清除时,集合中的弱引用也会自动被垃圾回收机制回收,追踪成组的对象是该集合最好的使用方式。 Map和Set都叫做集合,但是他们也有所不同。Set常被用来检查对象中是否存在某个键名,Map集合常被用来获取已存的信息。 Set Set是有序列表,含...

    Charlie_Jade 评论0 收藏0
  • JS 中为啥 ['1', '7', '11

    摘要:如果我们把非布尔值作为条件呢打开控制台并运行上述代码,会打印说明条件为真值。在中,真值指的是在布尔值上下文中转换后的值为真的值。两个能够建立元素间一一对应的集合称为互相对等集合。 showImg(https://segmentfault.com/img/bVbtSvt?w=720&h=360); 为了保证可读性,本文采用音译而非直译。 Javascript 一直是神奇的语言。 不相信我...

    yuanzhanghu 评论0 收藏0

发表评论

0条评论

Object

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<