标签:
var arr01 = [ "fuc" , "shit" , "assho" ];
var arr02 = [ 1 , 2 , 3 ];
// 以下多数省略前半部分的对象名(arr01)
var temp = arr01.join("and") // 将数组内所有元素转换为一个字符串 , 可指定分隔符
concat(arr01,arr02) // 用于连接 . 可放置两个或多个参数 (字符串/数组均可)
indexof("str") // 返回str第一次出现的索引位置 (数字也可) , 未找到返回-1
lastIndexOf("fuc") // 返回最后一次出现的索引位置
slice(start,end) // 不包括结束索引处的元素 , 不指定参数可截取所有元素(可用于复制数组)
splice(index,num,item1,item2,...)
// 过程 : 从数组第[index]个元素删除[num]个元素,插入item1 item2 (新元素数量不限)
// 元素参数个数任意 , 可省略 .
// 若省略此函数可作为 "从索引[n]开始删除[m]个元素 "来使用
// 第二个num指定删除多少个元素 , 若为0 , 则在索引index前添加元素
push("01","02") // 在数组末尾加上指定元素
unshift("01","02") // 在数组开头处加上指定元素
pop() // 从末尾删除单个元素
shift() // 从开头删除单个元素
sort() // 默认都按字母升序. so若要作为数字排序,需带上参数(升序) (function(a,b){return a-b}) 降序为b-a
reverse() // 颠倒原数组的所有元素
几个复杂点的 :
( 这几项都要配合函数来玩~ )
① MAP
newArr = oldArr.map(func)
// map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
// 不会改变原始数组
源代码示例 :
var strings = ["hello", "Array", "WORLD"];
function makeUpperCase(v)
{
return v.toUpperCase();
}
var uppers = strings.map(makeUpperCase);
// uppers is now ["HELLO", "ARRAY", "WORLD"]
// strings is unchanged
//结果:["hello", "Array", "WORLD"].map(makeUpperCase) : HELLO, ARRAY, WORLD
OR
var nums = [4,9,16,25] ;
function test(){
document.write(nums.map(Math.sqrt));
}
test();
② Every & Some
// 两种方法用于 用于检测数组中的元素是否满足指定条件
// 区别在于 前者必须都满足才返回True , 后者有一个满足就返回True
// 俩方法均不会改变原数组
var ages = [20,15,19,30];
function adultYes(age){
return age > 18 ;
}
function test(){
document.write(ages.every(adultYes));
}
test();
// 函数内为every返回false
// 为some返回true
③ Filter
// filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
// 可以直接过滤掉不符合条件的元素
// 当然 , 仍不会改变原数组
var ages = [20,15,19,30];
function adultYes(age){
return age > 18 ;
}
function test(){
document.write(ages.filter(adultYes));
}
test();
JS数组常用方法
标签:
原文地址:http://www.cnblogs.com/techmale/p/5595440.html