JavaScript 数组拼接打印_【JavaScript】Array数组常规使用小结(持续更新......)

一、概述

JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。

0a6d95eee716fe7223981a981d95f8e6.png

二、创建数组四种方式

2.1、字面-隐式创建数组

var movieList = ["大圣归来","哪吒之魔童降世","八佰"];console.log(movieList.length); // 3// 数组直接量还可以包含对象直接量和其他数组直接量var complexArr =[1, ["foo", {x:1,y:2}, "哪吒之魔童降世"], [3, {a:3,b:4}]];console.log(complexArr);

9a2bd153c86869ee2cf652f99c923aae.png

490aeda65300fd1f6874f91d4381a2c4.png

2.2、单纯创建JavaScript数组并给数组元素赋值

var myArr = new Array();myArr[0] = "斗罗大陆";myArr[1] = "Foo";myArr[2] = "大圣归来";console.log(myArr); // ["斗罗大陆", "Foo", "大圣归来"]注:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用。

42e9457deaaf3518cd3507a974069ed5.png

2.3、简洁方式-直接实例化

var directArr = new Array("HQA","武动乾坤","大米");console.log(directArr); // ["HQA", "武动乾坤", "大米"]注:括号也可以声明一个数组对象,当然类似C语言,也可以定义2维3维和多维的数组。

47556921632a0cbc130a6eb71e979741.png

2.4、创建JavaScript数组的同时规定数组大小

var provideArr = new Array(8); // 这里就创建了一个初始化大小为8的数组console.log(provideArr); // [empty × 8]注意:当使用数组大小超过初始化大小时,数组会自动被撑大,不会像C语言那样发生错误。动态增长是js数组的一个性质。其中,在js中支持最大数组长度为4294967295。

3007ae6a9bb17277ae6daed7fb621374.png

三、访问数组元素

3.1、取值

var first = movieList[0];console.log(first); // 大圣归来var last = movieList[movieList.length - 1];console.log(last); // 八佰

c0d809a96d849efd745a55eba09f1415.png

6a5663702c333d6991dd3a100d8283d9.png

3.2、赋值

movieList[3] = "斗罗大陆";console.log(movieList); // ["大圣归来", "哪吒之魔童降世", "八佰", "斗罗大陆"]

3cc440980f04fa75d49f122e7952a333.png

3.3、修改

movieList[2] = "Holle World";console.log(movieList); // ["大圣归来", "哪吒之魔童降世", "Holle World", "斗罗大陆"]

5bbf6ec354fe07b16f6046375e07715a.png

四、创建一个空数组

4.1、方式一:

let emptyArr = [];

4.2、方式二:

let emptyArr = new Array();

注:空数组的toString()值为空字符串""。

dd6af7b717cc65656212e19c36d26e75.png

五、js数组求和的方法

let arr = [11, 12, 13, 14, 15];let sum = 0;

5.1、常规遍历方式

5.1.1、for 遍历方式

for (let i = 0, len = arr.length; i   sum += arr[i];}

5.1.2、for in 遍历方式

for (let i in arr) {  sum += arr[i];}

5.1.3、for of 遍历方式

for (let i of arr) {  sum += i;}

5.1.4、forEach 遍历方式

arr.forEach((val, index, arr) => {  sum += val;});

5.1.5、map 遍历方式

arr.map((val, index, arr) => {  sum += val;});

5.2、归并方式reduce()

sum = arr.reduce((prev, next, index, array) => prev + next);

5.3、归并方式 reduceRight()

sum = arr.reduceRight((last, before, index, array) => last + before);

5.4、递归方式

sum = () => {  let len = arr.length;  if (len == 0) {    return 0;  } else if (len == 1) {    return arr[0];  } else {    return arr[0] + sum(arr.slice(1));  }}

5.5、eval方式(不推荐,耗性能最慢) 

sum = eval(arr.join("+"));

注:for循环最快,注意要把len先存储下来,归并最便捷,eval最简洁但是耗性能且慢。

六、js数组去重方法

6.1、将两个数组拼接为一个数组,然后使用 ES6 中的 Array.filter() 遍历数组,并结合 indexOf 来排除重复项(此方法去重性能不是一般的差,不推荐)。

function duplicateFilterArr(arrA, arrB) {    let todoArr = arrA.concat(arrB);    return todoArr.filter((item, index)=> {        return todoArr.indexOf(item) === index;    });}

欢迎关注微信公众号

c361462ef2c90d61c71d5b2ce2d805c8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值