数组
什么是数组
JavaScript
数组用于在单一变量中存储多个值。
创建数组
1
、使用
JavaScript
关键词
new
var color= new Array("red", "blue", "green");
2
、使用数组文本创建
var color = ["red", "blue", "green"]
数组常用方法
toString()
把数组转换为数组值(逗号分隔)的字符串。
join()
方法也可将所有数组元素结合为一个字符串。
添加新元素
push() unshift();
删除元素
修改元素
//
获取
//
第一个数组元素
arr[0];
//
访问最后一个
arr[arr.length-1];
var color2 = ["red", "blue", "green"];
//
数组的属性
//length
属性返回数组的长度(数组元素的数目)。
color2.length;
//1
、
toString()
把数组转换为数组值(逗号分隔)的字符串。
var color= new Array("red", "blue", "green");
color.toString(); //"red,blue,green"
//2
、
join()
方法也可将所有数组元素结合为一个字符串。
var arr2 = ["red", "blue", "green"];
console.log(arr2.join(":")) //red:blue:green
console.log(arr2.join(" ")) //red blue green
//3
、添加新元素
push() unshift();
//unshift()
方法(在开头)向数组添加新元素
unshift()
方法返回新数组的长度。
//push()
方法(在数组结尾处)向数组添加一个新的元素
push()
方法返回新数组的长度
var arr3 = ["red", "blue", "green"];
arr3.unshift("abc");//["abc", "red", "blue", "green"]
//push()
方法(在数组结尾处)向数组添加一个新的元素
arr3.push("xyz"); //["abc", "red", "blue", "green","xyz"]
//4
、删除元素
//pop()
方法从数组中删除最后一个元素
pop()
方法返回
“
被弹出
”
的值
//shift()
方法会删除首个数组元素,并把所有其他元素
“
位移
”
到更低的索引。
shift()
方法返回被
“
位
移出
”
的字符串
var arr4 = ["red", "blue", "green"];
arr4.pop(); //"green" arr4 ======["red", "blue"]
//shift()
方法会删除首个数组元素,并把所有其他元素
“
位移
”
到更低的索引 返回的是被弹出的值
arr4.shift();//"red"
//splice()
方法可删除从
index
处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替
换那些被删除的元素。如果从
arrayObject
中删除了元素,则返回的是含有被删除的元素的数组
var arr5 = [5,6,7,8];
// arr5.splice(
位置
,
个数
,
添加的新元素
)
arr5.splice(1,1); //
删除了
6 arr5
的结果是
[5,7,8]
arr5.splice(1,0,9);//arr5
的结果是
[5, 9, 6, 7, 8]
arr5.splice(1,2,3);//arr5
的结果是
[5, 3, 8]
//slice()
返回一个新的数组,包含从
start
到
end
(不包括该元素)的
arrayObject
中的元素
var arr6 = [5,6,7,8];
arr6.slice(1,3) //[6, 7]
//arr6
仍然还是
[5,6,7,8];
返回的是选定的元素,该方法不会修改原数组
合并数组
//concat()
方法用于连接两个或多个数组
该方法不会改变原有的数组
var arr7 =[1,2,3];
var arr8 = [4,5,6];
var arr9 = arr7.concat(arr8);
//arr9 [1, 2, 3, 4, 5, 6]
排序
//sort()
排序
var arr10 =["red", "blue", "green"];
arr10.sort(); // ["blue", "green", "red"]
var arr11 = [1,10,5,12,4,9,22];
arr11.sort();// [1, 10, 12, 22, 4, 5, 9]
//reverse()
方法用于颠倒数组中元素的顺序
会改变原数组
arr11.reverse();// [22, 9, 4, 12, 5, 10, 1]
遍历数组
//for
循环遍历
var arr =["red", "blue", "green"];
var str = "";
for(var i=0;i<arr.length;i++){
str += "<p>"+arr[i]+"</p>"
};
document.getElementById("test").innerHTML= str;
//forEach()
方法用于调用数组的每个元素,并将元素传递给回调函数。
var arr =[1,2,3];
var a=[];
arr.forEach(function(item,index){
a.push(item+1);
});
console.log(a);
筛选数组
//filter()
对数组的每一项都运行给定的函数,返回 结果为
ture 的项组成的数组
var arr15 = [2,3,5,6,7,18,9];
var a15 = arr15.filter(function(item,index){
return item >5; //
满足的条件
大于
5
的结果
[6, 7, 18, 9]
});
//every()
对数组的每一项都运行给定的函数,每一项都返回
ture,
则返回
true
//
每一项都满足条件时返回
true,
只要有一个不满 足返回
false
var a16 = arr15.every(function(item,index){
return item >5; //
必须要求每一个数字都
>5
才会返回
true
否则返回
false
});
//some()
只要有一个满 足返回
true,
都不满 足返回
false
var a17 = arr15.some(function(item,index){
return item >5; //
只要有一个满 足了条件,返回
true
});