JS数组常用的属性就一个:length,表示数组的长度。
length可以获取数组长度,也可以设置数组长度。比如:
var arr = [1,2,3];
var x = arr.length; //获取数组arr的长度,返回3
arr.length = 5; //设置数组arr的长度为5
var y = arr.length; //返回5
arr[3] = undefined;
arr[4] = undefined;
设置数组长度,如果设置的长度比现有的数组长度大的话,数组将增大,新的元素被添加到数组的尾部,它们的值为undefined;如果设置的长度比现有数组长度小的话,现有数组会被截断,其尾部元素将丢失。
它的方法让我们很方便的操作数组里的数据;
参数可以是数组,也可以是具体的值。用法如下:
var a = [1,2];
var b = a.concat(3,4); //b的值为[1,2,3,4]
var c = [5,6];
var d = a.concat©; //d的值为[1,2,5,6]
var e = a.concat(b,c); //e的值为[1,2,1,2,3,4,5,6]
separator参数表示分隔符,是可选的,默认分隔符是逗号。用法如下:
var a = [1,2];
var b = a.join(); //b的值为1,2
var c = a.join(“*”); //b的值为1*2
join方法和字符串方法里的split是相对的。
join方法是把数组转换成字符串;
split方法是把字符串转换成数组;
<p id=“test”></p>
var a = [1,2];
document.getElementById(“test”).innerHTML = a.toString(); //输出1
<p id=“test”></p>
var a = [1,2];
document.getElementById(“test”).innerHTML = a.toString(); //输出3,1,2
<p id=“test”></p>
var a = [1,2];
document.getElementById(“test”).innerHTML = a.toString(); //输出2
参数index,表示添加/删除元素的位置,从0开始,使用负数可从数组结尾处规定位置,整数,必需。
参数howmany,表示要删除的元素数量。如果设置为 0,则不会删除元素,整数,必需。
参数item1,…..,itemX,表示向数组添加的新元素,可选。
用法如下:
<p id=“test”></p>
document.getElementById(“test”).innerHTML = a.toString(); //输出1,3,2
<p id=“test”></p>
document.getElementById(“test”).innerHTML = a.toString(); //输出1
<p id=“test”></p>
document.getElementById(“test”).innerHTML = a.toString(); //输出1,3
参数start:开始位置。可以是负数。负数表示从数组尾部开始算。-1表示最后一个元素,-2表示倒数第二个元素,以此类推,必需。
参数end:结束位置。可选,默认是到最后一个元素,可以是负数,负数表示从尾部开始算。
返回的元素包括start,不包括end。
用法如下:
<p id=“test”></p>
a.reverse();
document.getElementById(“test”).innerHTML = a.toString(); //输出3,2,1
sort(sortby) 方法,对数组的元素进行排序,原有数组发生改变。
参数sortby是可选的,默认按照字母顺序排序。它是一个比较函数,函数有两个参数a和b,返回值用来说明a和b的大小。具体用法如下:
function(a,b){return a-b}
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
<div id=“test”></div>
a.sort();
document.getElementById(“test”).innerHTML = a.toString(); //输出 aaa,bbb,ccc
a.sort();
document.getElementById(“test”).innerHTML = a.toString(); //输出 10,5,8
<div id=“test”></div>
a.sort(function(a,b){return a-b}); //升序
document.getElementById(“test”).innerHTML = a.toString(); //输出 5,8,10
<div id=“test”></div>
a.sort(function(a,b){return b-a}); //降序
document.getElementById(“test”).innerHTML = a.toString(); //输出 10,8,5
var person = [
{‘name’ : ‘meimei’,‘age’:10},
{‘name’ : ‘lilei’,‘age’:8}
person.sort(function(a,b){a.age-b.age}); //按照年龄排序
排序后的数组:
[
{‘name’ : ‘lilei’,‘age’:8}
{‘name’ : ‘meimei’,‘age’:10}
]
person.sort(function(a,b){
else if(a.name < b.name) {return -1;}
else{return 0}
}); //按照姓名排序
排序后的数组:
[
{‘name’ : ‘lilei’,‘age’:8},
{‘name’ : ‘meimei’,‘age’:10},
{‘name’ : ‘xiaoming’,‘age’:7}
]
它的用法是直接用Array类来调取的,参数是要检测的对象,返回值是布尔值。用法如下:
var a = [1,2];
var b = Array.isArray(a); //返回true
数组的迭代方法,说白了,就是循环对每个元素进行操作。所有的迭代方法都不会改变原有数组。所有的方法,我们自己都可以用循环语句加逻辑来实现。
用法如下:
<div id=“test”></div>
var txt = “”;
var a = [45, 3];
a.forEach(callFunction);
function callFunction(value, index, array) {
txt = txt + value + “<br>”;
}
document.getElementById(“test”).innerHTML = txt;
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3];
var b = a.map(callFunction);
function callFunction(value, index, array) {
return value * 2;
}
document.getElementById(“test”).innerHTML = b; //输出90,6
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
filter() 方法,检测元素,并返回符合条件所有元素的数组。用法如下:
<div id=“test”></div>

var a = [45, 3];
var b = a.filter(callFunction);
function callFunction(value, index, array) {
return value > 10;
}
document.getElementById(“test”).innerHTML = b; //输出45
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3];
var b = a.every(callFunction);
function callFunction(value, index, array) {
return value > 10;
}
document.getElementById(“test”).innerHTML = b; //输出false
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3];
var b = a.some(callFunction);
function callFunction(value, index, array) {
return value > 10;
}
document.getElementById(“test”).innerHTML = b; //输出true
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3,16];
var b = a.find(callFunction);
function callFunction(value, index, array) {
return value > 10;
}
document.getElementById(“test”).innerHTML = b; //输出45
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3,16];
var b = a.findIndex(callFunction);
function callFunction(value, index, array) {
return value > 10;
}
document.getElementById(“test”).innerHTML = b; //输出0
回调函数包括三个参数:
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
用法如下:
<div id=“test”></div>
var a = [45, 3,16];
var b = a.indexOf(3);
document.getElementById(“test”).innerHTML = b; //输出1
两个参数:
item:检索的元素值(必需)
start:开始位置(可选),负数从结尾开始,并搜索到结尾。
lastIndexOf(item,start) 和 indexOf功能一样,只不过,从结尾开始。
reduce() 方法,将数组元素计算为一个值(从左到右)。用法如下:
<div id=“test”></div>
var a = [45, 3];
var b = a.reduce(callFunction);
function callFunction(total,value, index, array) {
return total + value;
}
document.getElementById(“test”).innerHTML = b; //输出48
回调函数包括四个参数:
total:初始值, 或者计算结束后的返回值。(必需)
value:元素值(必需)
index:索引(可选)
array:数组本身(可选)
比如:
var b = a.reduce(callFunction,100);
文章内容比较多,需要多练习运用,更多关于前端的文章,可以识别下图的二维码关注微信公众号:“刘小妞的栖息地”查看,感谢大家的支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/145288.html