您的位置:首页 > Web前端 > JavaScript

JavaScript基础知识之Array类型(二)

2016-02-26 15:33 609 查看
1 数组操作方法

A. concat()方法,数组拼接或在数组基础上末尾添加数组项

var color=['red','blur','greed']
col=['a','b']
color2=color.concat('yellow','black')
color3=color.concat(col)
alert(color)  //red,blur,greed
alert(color2) //red,blur,greed,yellow,black
alert(color3) //red,blur,greed,a,b


注:concat()只是复制当前的数组并返回副本,不会影响原数组

B. slice()方法,获取取数组的一部分选项,1个或2个参数

var color=['red','blur','greed','black','yellow'];
color2=color.slice(2);   //参数表述从数组第N个开始,例子:从第三个选项开始到末尾
color3=color.slice(2,4)  //第一个参数表述从第N个开始,第2个参数表述结束位置、不包含本身
alert(color2) //greed,black,yellow
alert(color3) //greed,black


C. splice()方法{会改变原数组},主要用途像数组中部插入项,使用方式如下:

删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的数量。例如:splice(0,2) 会删除数组中的前两项

插入:可以插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项数)、要插入的项。例如:splice(2,0,’red’,’good’)会在当前数组的位置2插入两项red,good

替换:可以向指定位置插入任意的项,并同时删除任意数量的项,只需指定3个参数:起始位置、要删除的选项、和要插入的任意数量的项,插入的数量不一定要与删除的项数相等。例如:splice(2,2,’red’)会删除当前数组位置2及3两项,然后再从位置2开始插入red

var color=['red','blur','greed','black','yellow'];
var removed=color.splice(0,1)   //删除第一项
alert(color)   //blur,greed,black,yellow
alert(removed) //red  ,返回被删除的数组

var add=color.splice(1,0,'good','bad')
alert(color) //blur,good,bad,greed,black,yellow
alert(add)  //返回一个空数组

var removed=color.splice(1,2,'good','bad'); 删除2项,插入两项
alert(color) //red,good,bad,black,yellow
alert(removed) //blur,greed ,返回被删除的数组


2 位置方法

indexOf() 和lastIndexOf()

3.迭代方法(判断数组)

every():对数组每一项运行给定函数判断,如果每一项都为ture(满足条件),则返回ture,反之返回false

filter():对数组每一项运行给定函数判断,返回结果为ture(满足条件)的项,返回结果为一个数组。

forEach:对数组每一项运行给定函数判断。这个方法不返回值。

map:对数组每一项运行给定函数判断,返回调用函数返回的结果组成的数组。

some:对数组每一项运行给定函数判断,如果该函数任意一个返回ture,则结果返回ture,反之都为false,则返回false

例:

var number=[1,2,3,5,6]
everyResult=number.every(function(item,index,array){
return item > 5;
})
alert(everyResult) //false

someResult=number.some(function(item,index,array){
return item % 2 == 0;
})
alert(someResult) //ture

filterResult=number.filter(function(item,index,array){
return item % 2 == 0;
})
alert(filterResult) //2,6  返回满足条件的组数集合

mapResult=number.map(function(item,index,array){
return item * 2;
})
alert(mapResult)  // 2,4,6,10,12  返回所有结果组数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript