JavaScript数组以及数组API学习总结

发布时间:2019-08-12 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JavaScript数组以及数组API学习总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

原生js方法

创建数组:
        VAR arr = [];
        var arr = new Array();
        var arr = [1,2];
        var arr = new Array(1,2,3);
        var arr = new Array(n); 

注意:new Array定义数组,会根据参数个数不同代表数组不同内容
js中数组越界不报错!而是返回undefined
检测是不是数组:

arr instanceof Array      //通过构造函数
Array.isArray(arr)      
Array.PRototyPE.isPrototypeOf(arr)    //通过原型
Object.prototype.toString.call(arr)  //[Object Array]

遍历关联数组(哈希hash数组)

for(var key in arr){
    arr[key] 当前属性值
}

数组转成字符串用法

arr.valueOf() 
arr.toString()
String(arr):将数组中每个元素转为字符串,并用逗号连接。——拍照
arr.join("连接符"):将数组中每个元素转为字符串,用自定义的"连接符"连接每个元素。

arr.reverse()原数组会改变
arr.sort() 数组排序,按字符串大小排序
arr.concat(otherArr) 合并新元素,返回合并后的新数组
arr.slice(start,end)剪切数组,含头不含尾 
注意:拼接和截取: 都无法直接修改原数组而是返回新数组,用变量接住
arr.splIT([ 起始位置 | 要删除元素的个数 | 要插入元素的值,可以写入多个值 ] )剪切数组/替    换/新增
arr.indexOf(item):返回第一个匹配到的元素在数组中所在的位置 or -1
arr.lastIndexOf(item)
注意:IE6, 7, 8 不支持indexOf与lastIndexOf方法 

栈和队列:

arr.push() 尾部添加元素,返回被新数组的长度
arr.pop() 尾部删除元素,返回被删除的元素 
arr.unshift(item)  头部添加元素,返回新数组的长度 
arr.shift(item)  头部删除元素,返回被删除的元素

ES5 API:

注意:ES5数组API这些都不会改变原数组,新的数组要用变量接住
参数:[ 调用every的数组的每一项元素 | 对应元素所在的位置 | 表示该数组 ] 
arr.every(function(item,index,array){}) 该函数对每一项都返回true,则返回true 
arr.some(function(item,index,array){})  该函数对其中一项返回true,则返回true 
arr.filter(callback):返回满足条件的元素组成的数组
arr.map(callback): 对数组每一项进行计算等处理,返回处理结果组成的数组。每一项的结果是true/false
arr.reduce(fn) 前一个元素 | 当前元素,从1开始 | 后一个元素的序列,从1开始计数 | 表示该数组 ] _
var arr = [1,2,3,4,5];
var reduceArr = arr.reduce(function(pre,cur,index,array){
    return prev + cur;
})   //15

ES6 API
...[arr] 数组扩展运算符

Math.min(...[arr]) 等同于Math.min.apply(null,arr)  替换数组的apply方法
arr1.push(...arr2) 等同于Array.prototype.push.apply(arr1,arr2) 一个数组添加到另一个数组的尾部
[...arr1,...arr2,...arr3] 等同于arr1.concat(arr2,arr3)  合并数组
let[First,...const]=[1,2,3,4],结果first=1const=[2,3,4] 结合解构一起使用

Array.From() 将类数组对象和可遍历的对象转换为真正的数组(包括ES6新增的数据结构Set和Map

Array.from(“hello”)  [“h”,”e”,”l”,”l”,”o”]
let person={
0:'张三',
1:'李四',
2:'王五',
length:3 //必须要设置对象长度
};

let arr=Array.from(person); 等同于let arr=[].slice.call(person);
Array.of(1,2,3) [1,3,4] 将一组值转换为数组 Array()会因参数个数导致行为有差异
Array.find(function(val,index,arr)) 找到第一个符合条件的数组成员Array.findIndex(function(val,index,arr)) 找到第一个符合条件的数组位置
这两个方法都可以发现NaN,弥补了数组的IndexOf方法的不足。
arr.includes(value,[start]) 可以找到NaN
jQuery相关方法

$.each(arr,function(key,value))
$.grep(arr,function(key,value))  //功能类同原生中的arr.filter(fn)
$.unique(arr) 过滤DOM数组中重复的元素
$.makeArray(obj) 将类数组对象转换为数组
$(elem).toArray() 将jquery对象集合恢复成DOM数组

脚本宝典总结

以上是脚本宝典为你收集整理的JavaScript数组以及数组API学习总结全部内容,希望文章能够帮你解决JavaScript数组以及数组API学习总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。