根據紅寶書整理ios
肯定某個值究竟是不是數組。數組
var arr = [1,2,3];
console.log(Array.isArray(arr)) //true
複製代碼
將 Array 的元素轉換爲字符串。結果字符串由逗號分隔,且鏈接起來。bash
var arr = [1,2,3];
console.log(arr.toString());//"1,2,3"
複製代碼
##valueOf() 返回數組自己。函數
console.log(arr.valueOd());//[1,2,3]
複製代碼
將 Array 的元素轉換爲字符串。結果字符串由逗號分隔,且鏈接起來。ui
var person1={
toLocaleString:function(){
return 'Nikolaos11'
},
toString:function(){
return 'Nicholas22'
}
}
var person2 = {
toLocaleString:function(){
return 'Grigorios33'
},
toString : function(){
return 'Greg44'
}
}
var people = [person1,person2];
alert(people);//Nicholas22,Greg44
alert(people.toString());//Nicholas22,Greg44
alert(people.toLocaleString());//Nikolaos11,Greg44
複製代碼
使用不一樣的分隔符來建構字符串spa
var arr = [1,2,3];
console.log(arr.join('#');//1#2#3
複製代碼
把參數添加到末尾code
var arr =[];
arr.push(1,2);
console.log(arr)//[1,2]
複製代碼
移除數組最後一項cdn
var arr =[1,2];
arr.pop(1,2);
console.log(arr)//[1]
複製代碼
在數組前面添加任意項blog
var arr =['a','b','c'];
arr.unshift('s')
console.log(arr)//['s','a',b','c'] 複製代碼
移除數組前面一項排序
var arr=['a','b','c'];
arr.shift()
console.log(arr)//['b','c']
複製代碼
反轉數組順序
var values = [1,2,3,4,5];
values.reverse();
console.log(values);//[5,4,3,2,1]
複製代碼
升序排列數組 *sort()會調用每一個數組的toString(),而後獲得字符串比較排序
var values = [0,1,5,10,15];
console.log(values.sort());//[0, 1, 10, 15, 5]
複製代碼
由於字符串比較時,‘10’位於‘5’的前面,因此數組被修改了
var values = [0,1,5,10,15];
function compare(value1,value2){
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
}
values.sort(compare)//[0, 1, 5, 10, 15]
複製代碼
將接收到的參數添加到副本數組的末尾
var values = [0,1,5,10,15];
console.log(values.concat('yellow','red'));//[0, 1, 5, 10, 15, "yellow", "red"]
複製代碼
返回參數制定的全部項
var values = [0,1,5,10,15];
var colors1 = values.slice(1);
var colors2 = values.slice(1,4);
console.log(colors1);//[1, 5, 10, 15]
console.log(colors2);//[1, 5, 10]
複製代碼
var colors=['green','red','pink','blue'];
console.log(colors.splice(1,2));//['red','pink']
console.log(colors)//['green','blue']
複製代碼
var colors=['green','red','pink','blue'];
colors.splice(1,0,'yellow')
console.log(colors);//['green','yellow',red','pink','blue'] 複製代碼
var colors=['green','red','pink','blue'];
colors.splice(1,2,'yellow')
console.log(colors);//['green','yellow','blue']
複製代碼
從數組開頭查,第一個參數在數組的項。若有第二個參數,表示從哪裏開始查
var arr = [1,3,4,5,7];
arr.indexOf(4)//2
arr.indexOf(4,1)//2
arr.indexOf(4,2)//2
arr.indexOf(4,3)//-1
複製代碼
從數組末尾查,第一個參數在數組的項。若有第二個參數,表示從哪裏開始查
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.indexOf(4,4)//5
numbers,lastIndexOf(4,4)//3 第2個參數從末尾開始查
複製代碼
對數組的每一項運行給定函數,每一項都符合條件返回true,有一項不符合或所有不符合返回false
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item,index,arr){
return (item > 2)
})
console.log(everyResult);// false
複製代碼
對數組的每一項運行給定函數,返回函數會返回true的項組成的數組
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.filter(function(item,index,arr){
return (item > 2)
})
console.log(everyResult);// [3,4,5,4,3]
複製代碼
對數組的每一項運行給定函數
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.forEach(function(item,index,arr){
執行操做
})
複製代碼
對數組的每一項運行給定函數,返回函數調用結果的數組
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.map(function(item,index,arr){
return (item * 2)
})
console.log(everyResult);// [2,4,6,8,10,8,6,4,2]
複製代碼
對數組的每一項運行給定函數,有一項符合條件返回true,
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item,index,arr){
return (item > 2)
})
console.log(everyResult);// true
複製代碼
從數組的第一項開始,逐步遍歷到最後
//求和,第一次,prev=1 cur=2,第二次prev = 3,cur=3;
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev,cur,index,array){
return prev + cur;
})
console.log(sum);//15
複製代碼
從數組的最後一項開始,像前遍歷到第一項
//求和,第一次,prev=5 cur=4,第二次prev = 9,cur=3;
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev,cur,index,array){
return prev + cur;
})
console.log(sum);//15
複製代碼