Javascript数组方法百科全书(推荐)

Javascript数组方法百科全书(推荐)
在笔试的数组将经常出现在面试题,数组中的Javascript数组和其他语言有所不同,为了方便数组的学习方法,以下萧边为你梳理了数组的操作方法,让我们看看。

数组的创建

在Javascript中创建数组有两种方法。第一种方法是使用数组构造函数
VaR arr1 =新(阵列); / /创建一个空数组
VaR的新数组(arr2 = 20); / /创建一个数组包含20
VaR ARR3 =新的数组(莉莉
创建数组的第二个基本方法是使用数组文字表示。
VaR ARR4 = {}; / /创建一个空数组
var ARR5 = { 20 }; / /创建一系列的1个项目
var { ARR6 =莉莉
一种基于0的数字索引,使用方括号,并在读取和设置数组值时提供相应的值:
var { ARR6 =莉莉
警报(ARR6 { 0 }); / /莉莉
ARR6 { 1 } = 玛丽; / /修订第二玛丽
ARR6 { 3 } = 肖恩;第四 / /肖恩
可以修改Javascript数组的长度属性,以查看下面的示例:
var { ARR =莉莉
ARR { arr.length } = 肖恩; / / 3(下标和数组尾部)添加一个肖恩
arr.length = arr.length-1; / /阵列会将最后的
如果我们需要确定一个对象是否是一个数组对象,我们可以通过实例数组在ECMAscript 5判断它,但是instanceof运算符的问题是它假设只有一个全局执行环境。如果有多个框架的网页,实际上有两个以上的不同的全局执行环境,有阵施工人员两个以上的版本。如果你导入一个数组从一帧到另一个,然后输入阵列具有不同的构造函数与第二框架创建原始数组。

ECMAscript 5增加了Array.isArray()的方法。这种方法的目的是最终确定值是否是一个数组,无论全球执行环境是创造。

阵列的方法

下面是数组的介绍。数组方法包括数组原型和对象对象继承。这里我们介绍了数组的原型方法。

(加入)

推()和弹出()

移()和位置()

排序

反()

Concat()

片()

Splice()

()和()返回字符串(ES5)

foreach()(ES5添加)

图()(ES5添加)

过滤器()(ES5添加)

每()(ES5添加)

一些()(ES5添加)

减少()和()reduceright(ES5)
新方法对ES5的浏览支持

Opera 11 +

Firefox 3.6 +

Safari 5 +

Chrome 8 +

Internet Explorer 9 +

支持的浏览器版本可以通过数组原型扩展来实现,下面是每个方法的基本功能详细描述。

1,加入()

添加(分隔符):设置数组元素的字符串、分隔符作为分隔符和省略号,然后默认使用逗号作为分隔符。此方法只接收一个参数:分隔符。
var arr = {1,2,3};
Console.log((arr.join)); / / 1,2,3
console.log(arr.join(); / / 1-2-3)
console.log(ARR); / / { 1, 2, 3 }(原数组不变)
重复字符串可以通过连接()方法实现,重复字符串可以通过简单地传递字符串和重复字符串的数量来返回。其功能如下:
功能repeatstring(STR,n){
返回新数组(n + 1);
}
console.log(repeatstring(ABC,3)); / / abcabcabc
console.log(repeatstring(嗨,5)); / / hihihihihi
2,推()和弹出()

推():您可以接收任意数量的参数,将它们一个接一个地添加到数组的结尾,并返回修改数组的长度。

POP():最后一个项在数组的结尾被移除,数组的长度值减少,返回的项被返回。
var arr = {莉莉
VaR计算= arr.push(杰克
console.log(计数); / / 5
console.log(ARR); / / {莉莉
VAR项= arr.pop();
console.log(项); / /肖恩
console.log(ARR); / / {莉莉
3、移()和位置()

移位():删除原始数组的第一项,并返回删除元素的值;如果数组为空,则返回未定义的元素。

位置:添加参数到原数组并返回数组的长度。

这组方法与上面的推()和POP()方法相一致,其中一个是操作数组的开始,另一个是操作数组的结束。
var arr = {莉莉
VaR计算= arr.unshift(杰克
console.log(计数); / / 5
console.log(ARR); / / {杰克
VAR项= arr.shift();
console.log(项); / /杰克
console.log(ARR); / / {肖恩
4,排序()

排序():按升序排列数组项,也就是说,最小值位于前面,最大值位于结尾处。

在排序时,排序()方法调用toString()每个数组项的转换方法,然后将得到的字符串来确定如何排序。即使数组中的每一个项目是数字排序()方法是一个字符串,相比,所以情况如下:
VaR arr1 = {
Console.log((arr1。排序)); / / {
arr2 = { 13, 24, 51,3 };
Console.log((arr2。排序)); / / { 13, 24, 3,51 }
console.log(arr2); / / { 13, 24, 3,51 }(阵列的变化)
为了解决这个问题,排序()方法可以接收比较函数作为参数,这样我们就可以指定哪个值位于哪个值前面。如果第一个参数在第二个位置之前,它返回一个负数。如果这两个参数相等,则返回0。如果第一个参数位于第二个位置,则返回一个正数:
(value1,value2功能比较){
如果(value1 value2 P<0.05){
返回- 1;
} else if(value1 value2 { >)
返回1;
{人}
返回0;
}
}
arr2 = { 13, 24, 51,3 };
console.log(arr2.sort(比较)); / / { 3, 13, 24,51 }
如果需要由比较函数生成降序,只需交换比较函数返回的值:
(value1,value2功能比较){
如果(value1 value2 P<0.05){
返回1;
} else if(value1 value2 { >)
返回- 1;
{人}
返回0;
}
}
arr2 = { 13, 24, 51,3 };
console.log(arr2.sort(比较)); / / { 51, 24, 13,3 }

5,反转()

反向():反转数组项的顺序
var arr = { 13, 24, 51,3 };
console.log(arr.reverse()); / / { 3, 51, 24,13 }
console.log(ARR); / / { 3, 51, 24,13 }(原数组的变化)
6、concat()

Concat():添加参数到原来的阵列。该方法首先创建一份当前数组,然后将接收到的参数的拷贝结束,并返回新创建的阵列,在将参数传递到连接缺失()方法,它只是将当前数组并返回一份。
var arr = {天};
无功arrcopy = arr.concat(9,{ 13 });
console.log(arrcopy); / / { 1, 3, 5,7, 9, 11,13 }
console.log(ARR); / / { 1, 3, 5,7 }(原数组不修改)
从上面的测试结果可以看出,如果传入数组不是数组,则参数直接添加到数组中。如果数组被传递,数组中的项将被添加到数组中,但是如果传入是一个二维数组呢
无功arrcopy2 = arr.concat({ 9 } },{ 11、13);
console.log(arrcopy2); / / { 1, 3, 5,7, 9,数组{ 2 } }
console.log(arrcopy2 { 5 }); / / { 11, 13 }
上面的代码中,第五arrcopy2数组是数组包含两个项目,也就是说Concat方法只能在阵列引入每项添加到数组中,如果数组是通过数组,然后将这一组项目添加到arrcopy2。

7,切片()

片():返回一个新的,由原来的数组下标下标开始的数组。切片()方法可以接受一个或两个参数,即返回的起始和结束位置的项目。在只有一个参数的情况下,该片()方法返回的所有项目从指定位置的参数为当前数组的结尾。如果有两个参数,此方法返回的起始和结束位置之间的一个项目,但不包括在最后一项的位置。
var arr = { 1,3,5,7,9,11 };
无功arrcopy = arr.slice(1);
无功arrcopy2 = arr.slice(1,4);
无功arrcopy3 = arr.slice(1 - 2);
无功arrcopy4 = arr.slice(4 - 1);
console.log(ARR); / / { 1, 3, 5,7, 9, 11 }(原数组没有变化)
console.log(arrcopy); / / { 3, 5, 7,9, 11 }
console.log(arrcopy2); / / { 3, 5, 7 }
console.log(arrcopy3); / / { 3, 5, 7 }
console.log(arrcopy4); / / { 5, 7, 9 }
arrcopy集只有一个参数,即起始下标是1,那么返回的数组的下标1(包括下标1),开始在数组的末尾。

arrcopy2集两个参数,并返回一个数组的起始下标(1)终止下标(不包括4)。

arrcopy3集两参数,终止下标为负,当负数出现负数加上数组的长度值(6)的位置的数字代替,所以这是一个从1到4个子阵列。

在arrcopy4两参数为负,所以添加数组长度6阳性,所以它相当于切片(2,5)。

8,剪接()

Splice():一个非常强大的数组方法,它有许多可以删除、插入和替换的用法。

删除:删除任何数量的物品,2个参数只删除第一位置和删除项目。例如,剪接(0,2)删除数组中的第一个项目。
插入可以插入任意数量的物品到指定位置,3个参数:起始位置,只需要提供0(被删除的项目数)和插入的项目。例如,剪接(2,0,4,6)将开始插入4和6从当前数组中的位置2。

替换:可以插入任意数量的物品到指定的位置,和任何数量的物品也删除3个参数只需要指定起始位置,被删除和插入任意数量的项目的项目数,插入和删除的项目不具有相等的数。例如,剪接(2,1,4,6)去除了现有阵列的位置2,然后插入4和6项的位置2。
拼接()方法总是返回一个数组,该数组包含从原始数组中删除的项。如果没有删除项目,则返回空数组。
var arr = { 1,3,5,7,9,11 };
无功arrremoved = arr.splice(0,2);
console.log(ARR); / / { 5, 7, 9,11 }
console.log(arrremoved); / / { 1, 3 }
无功arrremoved2 = arr.splice(2,0,4,6);
console.log(ARR); / / { 5, 7, 4,6, 9, 11 }
console.log(arrremoved2); / / { }
无功arrremoved3 = arr.splice(1,1,2,4);
console.log(ARR); / / { 5, 2, 4,4, 6, 9,11 }
console.log(arrremoved3); / / { 7 }
9、()和()返回字符串

indexOf():接受两个参数:项目发现和(可选)代表索引查找的起始点的位置。在这方面,从数组的开始(位置0)开始找回来。

字符串:接受两个参数:要查找的项(可选)代表索引查找的起始点的位置。在这方面,开始期待着从数组的末尾。

这两种方法都返回数组中要找到的项的位置,或在未找到时返回1。在比较数组中的第一个参数和每个项时使用完整运算符。
var arr = { 1,3,5,7,7,5,3,1 };
console.log(arr.indexof(5)); / / 2
console.log(arr.lastindexof(5)); / / 5
console.log(arr.indexof(5,2)); / / 2
console.log(arr.lastindexof(5,4)); / / 2
console.log(arr.indexof(5)); / / 1
10、foreach()

foreach():遍历数组和运行一个给定的函数对数组中的每个元素。这个方法没有返回值,参数都是函数类型,默认有一个参考,参数数组的内容的遍历,对应的数组索引,和数组本身。
var arr = { 1, 2, 3,4, 5 };
arr.foreach(函数(x,指数一){
console.log(x + | +指数+ | +(= ARR));
});
输出:
/ / 1 | 0 |真实
/ / 2 | 1 |真实
/ / 3 | 2 |真实
/ / 4 | 3 |真实
/ / 5 | 4 |真实
11,地图()

map():指为数组中的每个项运行给定函数并返回每个函数调用结果的数组的映射。

下面的代码使用map方法来实现数组中每个数字的平方。
var arr = { 1, 2, 3,4, 5 };
VaR arr2 = arr.map(功能(项目){)
返回项目*项目;
});
console.log(arr2); / / { 1, 4, 9,16, 25 }
12,过滤器()

筛选器()函数:数组中的每个项运行给定函数,并返回满足过滤条件的数组。
var arr = { 1, 2, 3,4, 5, 6,7, 8, 9,10 };
VaR arr2 = arr.filter(函数(x,指数){
回报指数0×| | % 3 = = = > = 8;
});
console.log(arr2); / / { 1, 4, 7,8, 9, 10 }
13,每个()

每个():确定数组中的每个项是否满足条件,只有当所有项都满足时,才返回true。
var arr = { 1, 2, 3,4, 5 };
VaR arr2 = arr.every(函数(x){)
返回x<10;
});
console.log(arr2); / /真的
VaR ARR3 = arr.every(函数(x){)
返回x<3;
});
console.log(ARR3); / /假
14,一些()

一些():确定数组中是否有满足条件的项,只要某个项满足条件就返回true。
var arr = { 1, 2, 3,4, 5 };
VaR arr2 = arr.some(函数(x){)
返回x<3;
});
console.log(arr2); / /真的
VaR ARR3 = arr.some(函数(x){)
返回x<1;
});
console.log(ARR3); / /假
15、减少()和()reduceright

这两种方法都实现了迭代数组的所有项目,最终建立一个返回值,减少()方法从数组中的第一个项目,通过一个个的结束。和reduceright()从数组的最后一个项目,穿越的第一个项目。

这两种方法都接收两个参数:一个上调函数和(可选)作为合并基的初始值。

这是通过减少功能()和()reduceright接收4个参数:前值,电流值的项的索引,和阵列对象,函数返回的任何值将自动作为第一个参数传递给下一个项目。第一个迭代数组的第二个项目需要的地方,所以第一个参数是数组中的第二个参数的第一项是数组中的第二项。

下面的代码用来对数组进行缩减(),数组的初始值为10。
VaR值= { 12345 };
VaR和= values.reduceright(功能(沪指,cur,指数、阵列){
回沪指+电流;
},10);
console.log(总和); / / 25
以上是由萧边推荐的Javascript数组的方法,希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部