在現在代瀏覽器中判斷一個元素在不在一個數組中,咱們可以用Array物件的indexOf()方法來取得這個元素在目前數組中的索引值,若索引值不等於-1,數組中就存在這個元素,
例如:
var arr = [2,53,23,'test',9,'array']; //判断array在不在数组arr中 arr.indexOf('array') !== -1 ? alert('存在') : alert('不存在'); 但是IE9以前的版本都不支持此方法,那咱们就只能扩展一个: 代码如下复制代码 Array.prototype.indexOf = function(el){ for (var i=0,n=this.length; i<n; i++){ if (this[i] === el){ return i; } } return -1; }
下面咱們就來偵測一下各個瀏覽器的相容性,程式碼如下:
var arr = [2,53,23,'test',9,'array']; if(!Array.indexOf){ Array.prototype.indexOf = function(el){ for (var i=0,n=this.length; i<n; i++){ if (this[i] === el){ return i; } } return -1; } } arr.indexOf('array') !== -1 ? alert('存在') : alert('不存在');
上面就是用Array的indexOf方法來判斷數組中一個元素是否存在的方法。
Array的原生方法:
concat(): 連接兩個或更多的陣列哦
join(): 把陣列的所有元素放在一個字串中
pop():刪除並傳回陣列的最後一個元素
push():在陣列的末端新增一個元素,並傳回陣列長度。
reverse():顛倒數組中的元素順序
shift(): 刪除並傳回陣列的第一個元素。
slice():傳回已選取的元素
sort():將陣列的元素進行排序
splice():刪除元素,並在陣列中新增元素。
toSource():傳回該物件的原始碼
toString():把陣列轉換成字串,並回傳結果
valueOf():傳回數組物件的原始值。