Object.prototype
數組的值是有序的集合,每一個值叫做元素,每一個元素在數組中都有數字位置編號,也就是索引,js中數組是弱類型的,數組中可以含有不同類型的元素。數組元素甚至可以是對象或者其他數組
長度范圍:1====2的23方-1
new Array(100)//undifind*100
arr[5]=10;
arr.length//6
push()
unshift()
shift()
pop()
var Arr=[1,true,undifind,{x:1},[1,2,3]];
Array.prototype
Array.prototype.join() 默認, 可以自定義-------將數組轉換成字符串
demo:
創建一定長度的固定字符循環字符串
new Array(2).join("ab");//abab
new Array(100),創建長度為100的數組,每一個元素是undifind,join中會忽略undifind
Array.prototype.reverse=======將數組逆序,會改變原來的數組
Array.prototype.sort()========對數組進行排序(默認是按字符串進行排序,可以自定義排序的方法) 原數組被修改
Array.prototype.concat() 數組合並 原數組沒有被修改
Array.prototype.slice()=====返回部分數組 左閉右開區間 支持負數 -1表示最后一個元素 -2表示倒數第二個元素 原數組不會改變
Array.prototype.splice()======數組拼接 修改原數組 可以接受兩個參數 第二個參數表示刪除元素的長度 返回被刪除的元素
Array.prototype.forEach() 數組遍歷 參數是函數 三個參數 1 是對應的元素 2 是下標 3 是遍歷的數組本身 不會修改原來的數組
Array.prototype.map()數組映射 不會修改原來的數組
Array.prototype.filter() 數組過濾 返回符合要求的數組 不會修改原來的數組
Array.prototype.every() 返回 true false 數組判斷 所有的元素都符合
Array.prototype.some() 返回true false 數組判斷 部分元素符合就可以
Array.prototype.reduce() 將一個數組聚合為一個結果 與reduceRight的區別是默認是從數組從左到右 reduceRight是數組從右到左
Array.prototype.reduceRight()
demo:
獲取數組的最大值
var arr=[30,40,3,20,10,9,8];
var max=arr.reduce(function(x,y){
return x>y?x:y;
});
可以指定初始化值
var max=arr.reduce(function(x,y){
return x>y?x:y;
},20);
返回數組arr與20只最大的數值
Array.prototype.indexOf()數組檢索 可以指定開始檢索的位置,第一個參數:需要檢測的元素。第二個參數:開始檢索的位置
Array.isArray() isArray是Array構造器上的函數,不是原型prototype上的方法,不能直接使用一個數組進行調用
Array.isArray([]);