博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS数组方法
阅读量:4298 次
发布时间:2019-05-27

本文共 1678 字,大约阅读时间需要 5 分钟。

JS中的数组方法——原型方法

原数组发生改变:

push()、pop()、unshift()、shift()、split()、copyWithin()、reverse()、sort()、fill()

原数组不发生改变:

concat()、slice()、indexOf()、lastIndexOf()、join()、includes()、toString()、toLocalString()

原数组是否发生改变由callback决定:

every()、some()、filter()、map()、forEach()、reduce()、reduceRight()、find()、findIndexOf()

数组的创建有三种方式:构造函数方式、字面量方式、ES6新增的Array.of()方法创建。

1、构造函数方式:

let arr = new Array(); // 创建一个空数组let arr = new Array(10); // 创建长度为10的数组let arr = new Array('a'); // 创建包含一个字符串元素a的数组let arr = new Array(10, 'a'); // 创建包含10和字符串a两个元素的数组

小结:

1.new 关键字是可省略的
2.当只传一个number类型参数时,创建的是参数指定长度的数组。即构造函数形式创建数组,不能创建只包含一个number类型元素的数组

2、字面量方式

let arr = [10, 'a'];  // 字面量方式,即直接给数组赋值

3、Array.of()方法(ES6新增):

方法的作用是将一组值(即传进来的参数)转换为数组。

这个方法弥补了构造函数创建数组的不足。可以实现创建只有一个number类型元素的数组。

let arr = Array.of(3); console.log(arr); // [3]// 参数可以是各种类型let arr1 = Array.of(1, 'a', true, null, undefined, {name: "zhangsan"}, [45]);console.log(arr1); // [ 1, 'a', true, null, undefined, { name: 'zhangsan' }, [ 45 ] ]

构造函数的方法

Array.from():

作用:将类数组转化为数组
参数:arrayLike[, mapFn[, thisArg]]
参数说明:

  • arrayLike:类数组对象,可以是我们常见的nodeList、arguments、字符串、iterable对象等
  • mapFn: 对转化后的数组进行操作的回调函数
  • thisArg: 指定mapFun中的this

返回值:转化后的数组,如果有mapFn,则返回结果是经过mapFn处理的数组

原类数组是否改变:不使用mapFn,则类数组不改变。使用mapFn则结果同上述迭代方法中使用callback的情况一致。

let str = 'hello';let temp = Array.from(str);console.log(str, temp); // hello [ 'h', 'e', 'l', 'l', 'o' ]let temp1 = Array.from(str, (item, index) => {    return item.toUpperCase();});console.log(str, temp1); // hello [ 'H', 'E', 'L', 'L', 'O' ]

小结:

Array.from() 等价于 Array.prototype.slice.call(arguments,0)

~~~分割线~~~

作者:依米花开
链接:https://juejin.im/post/5acb6186518825556a72b79b
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考文章:

你可能感兴趣的文章
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>