首先由一個朋友提的問題開始javascript
var a = [].push(233) console.log(a)
結果是 1;一開始我也搞錯了,覺得返回的是新數組,而後去查了下資料,纔沒發現返回的是新數組的長度,也許這就是feature吧html
那就來複習下數組的方法和細節吧java
Array 對象方法 方法 描述 concat() 鏈接兩個或更多的數組,並返回結果。 join() 把數組的全部元素放入一個字符串。元素經過指定的分隔符進行分隔。 pop() 刪除並返回數組的最後一個元素 push() 向數組的末尾添加一個或更多元素,並返回新的長度。 reverse() 顛倒數組中元素的順序。 shift() 刪除並返回數組的第一個元素 slice() 從某個已有的數組返回選定的元素 sort() 對數組的元素進行排序 splice() 刪除元素,並向數組添加新元素。 toSource() 返回該對象的源代碼。 toString() 把數組轉換爲字符串,並返回結果。 toLocaleString() 把數組轉換爲本地數組,並返回結果。 unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。 valueOf() 返回數組對象的原始值
注意數組
var array = [ { "name": "aa", "bianma": "11" }, { "name": "bb", "bianma": "12" } ] array.findIndex(function(item){return item.name=="aa"})
參考:
JavaScript Array 對象
ES6 操做數組 方法 區別 map filter reduce findapp
對於純數字數組,可使用JavaScript中的內置函數Math.max()和Math.min()方法。著做權歸做者全部。
最簡潔的方法是 基於ES2015的方法來實現此功能,使用展開運算符學習
var numbers = [1, 2, 3, 4]; Math.max(...numbers) // 4 Math.min(...numbers) //
再就是this
Array.prototype.max = function () { return Math.max.apply({},this); } Array.prototype.min = function () { return Math.min.apply({},this); } var arr = [1,45,23,3,6,2,7,234,56]; arr.max(); // 234 arr.min(); // 1
循環刪除數組元素的幾種姿式.net
用的是for循環和splice以後i--實現;我就用IIFE來防止i污染全局,記得在(function(){})()前面加;、~、!等prototype
最短的應該是這個了 Array.from(new Array(100).keys())
Array.from() 方法從一個相似數組或可迭代對象中建立一個新的數組實例。
阮一峯--數組
(...[1,2]) // Uncaught SyntaxError: Unexpected number