JavaScript 数组方法
看一遍就ok
1.数组转换为字符串- - -toString/join
代码
var str= ["a", "b", "c", "d"];
document.write( str.toString()) ;
document.write( str.join(" * ")) ;
结果
a,b,c,d
a * b * c * d
2.弹出元素和推入新元素 - - - pop/push
注意:弹出与删除的区别是,数组元素位置不会移动,使用delete,在删除元素的位置,打印显示undefined
pop(删除数组最后一个元素,返回值为最后一个元素)
代码
var str=["a","b","c","d"];
document.write(str.pop()) ;//此处已更新数组
document.write(str) ;
结果
d
a,b,c
push(添加一个新的元素在数组最后,返回值为数组长度)
代码
var str=["a","b","c","d"];
document.write(str.push("e")) ;
document.write(str) ;
结果
5
a,b,c,d,e
shift(删除第一个元素,返回值为第一个元素)
(shift与unshift为位移元素)
代码
var str=["a","b","c","d"];
document.write(str.shift()) ;
document.write(str) ;
结果
a
b,c,d
unshift(添加一个新的元素在数组前面,返回值为数组长度)
代码
var str=["a","b","c","d"];
document.write(str.unshift("e")) ;
document.write(str) ;
结果
5
e,a,b,c,d
3.修改数组元素(根据索引0.1.2…修改)
代码
var str = ["a", "b", "c", "d"];
str[0] = "e";
document.write(str);
结果
e,b,c,d
length 属性提供了向数组追加新元素的简易方法:
var str = ["a", "b", "c", "d"];
str[str.length] = "e";
document.write(str);
结果
a,b,c,d,e
4.删除数组元素- - - delete(删除元素,原本位置为undefined)
var str = ["a", "b", "c", "d"];
delete str[0]
document.write(str);
document.write(str[0]);
结果
,b,c,d
undefined
注意:因此删除数组时建议用pop
5.拼接/裁剪数组- - - splice(返回值为被删除的元素)
用法:
1.主要用来替换或者插入多个元素
2.删除指定位置的(多个)元素
str.splice(2, 0, "x1", "x2");
第一个参数(2)定义了应添加新元素的位置(拼接)。
第二个参数(0)定义应删除多少个元素。
其余参数(“x1”,“x2”)定义要添加的新元素。不行
var str= ["a", "b", "c", "d"];
str.splice(2, 0, "x1", "x2");
document.write(str);
结果
a,b,x1,x2,c,d
var str= ["a", "b", "c", "d"];
document.write(str.splice(2, 2, "x1", "x2"));//输出返回值
document.write(str);
结果
c,d
a,b,x1,x2
6.合并(连接)数组- - - concat(合并素组)
var str1=["a","b"];
var str2=["c","d"];
var str3=["e","f"];
var str=str1.concat(str2);//合并单个数组
document.write(str)
document.write("<br/>")
var str=str1.concat(str2,str3);//合并多个个数组
document.write(str)
document.write("<br/>")
var str=str1.concat("qqq","www");//合并元素
document.write(str)
结果
a,b,c,d
a,b,c,d,e,f
a,b,qqq,www
7.颠倒数组中元素的顺序- - - reverse
var str= ["a", "b", "c", "d"];
document.write(str.reverse());
结果
d,c,b,a
8.数组中返回选定的元素- - - slice
代码
var str= ["a", "b", "c", "d"];
document.write(str.slice(1, 3));//第一个为开始位置,第二个为结束位置
结果
b,c
9.数组排序- - - sort
按首字母排序
代码
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
document.write(arr.sort())
结果
George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas
按数字大小排序
代码
function sortNumber(a, b)
{
return b - a
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
结果(这里需要写一个排序函数,不然就会按照第一个数字进行排序)
10,5,40,25,1000,1
1000,40,25,10,5,1
总结:
以上便是常用数组api,记得注意这些api是否会改变数组本身哦!
更多请访问(https://www.w3school.com.cn/jsref/jsref_obj_array.asp)