javascript 数组常用函数
因为typeof Array == object,
故判断数组是否是数组需要两个方法
1Array.isArray()
2function isArray(x) {
return x.constructor.toString().indexOf("Array") > -1; }
3
fruits instanceof Array
4 pop()
5 push()
6 shift()
7 unshift()
8splice(定义新元素应该被添加(接入)的位置,删除的元素个数,增加的元素)
9 concat concat 不会改变原有数组而是创建一个新的数组
10 slice(start,end) 当给 slice() 方法赋予两个参数时,它从 start 参数中选择数组元素,直到(但不包括)end 参数
11 sort() sort 排序默认是按照字符串大小进行排序,因此我们需要设置比值函数来重新定义排序规则 sort(function(a,b){a-b}) 升序
Javascript 不存在数组内部求最大最小值的内置函数,所以可以通过排序后取最小/大索引的方法取得极值,还可以通过Math.max.apply(Array)
Array.forEach()
forEach() 方法为每个数组元素调用一次函数(回调函数)。
Array.map()
map() 方法通过对每个数组元素执行函数来创建新数组。
map() 方法不会对没有值的数组元素执行函数。
Array.filter()
filter() 方法创建一个包含通过测试的数组元素的新数组。
map() 方法不会更改原始数组。
这个例子将每个数组值乘以2:
Array.reduce()
reduce() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce() 方法在数组中从左到右工作。另请参见 reduceRight()。
reduce() 方法不会减少原始数组。
Array.reduceRight()
reduceRight() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduceRight() 方法在数组中从左到右工作。另请参见 reduce()。
reduceRight() 方法不会减少原始数组。
Array.every()
every() 方法检查所有数组值是否通过测试。
这个例子检查所有数组值是否大于 18
Array.some()
some() 方法检查某些数组值是否通过了测试。
这个例子检查某些数组值是否大于 18:
Array.indexOf()
indexOf() 方法在数组中搜索元素值并返回其位置。
注释:第一个项目的位置是 0,第二个项目的位置是 1,以此类推。
Array.lastIndexOf()
Array.lastIndexOf() 与 Array.indexOf() 类似,但是从数组结尾开始搜索。
Array.find()
find() 方法返回通过测试函数的第一个数组元素的值。
这个例子查找(返回)大于 18 的第一个元素的值:
Array.findIndex()
findIndex() 方法返回通过测试函数的第一个数组元素的索引。