首先由一个朋友提的问题开始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