javascript高级程序设计阅读收获(6.2)——Array

本文详细介绍了JavaScript中数组的创建、空位处理、索引操作、检测、迭代器、填充复制方法、转换方法以及各种操作数组的方法,如push、pop、shift、unshift、sort、reverse等,同时涵盖find、findIndex、every、filter、forEach、map、some等迭代方法,以及reduce和reduceRight的使用。
摘要由CSDN通过智能技术生成

1.创建Array

let colors = new Array();//[]
let colors1 = new Array(20);//长度为20的数组
let colors2 = new Array("red","blue","green");//["red","blue","green"]
let colors = Array("red");//["red"]
  1. 通过Array构造方法创建Array
    (1)构造方法传入数值参数,会创建相应大小的数组
    (2)构造方法传入其他类型,会创建只包含此类型的数组
let colors = ["red","blue","green"];
let names = [];
  1. 通过数组字面量表示法创建数组。
    (1)在使用数组字面量表示法创建数组不会调用Array构造函数。
//传入字符串
console.log(Array.from("abcde"));//["a","b","c","d","e"]

//传入Map或者Set
const m = new Map().set(1,2)
				   .set(3,4);
const s = new Set().add(1)
				   .add(2)
				   .add(3)
				   .add(4);
console.log(Array.from(m));//[[1,2],[3,4]]
console.log(Array.from(s));//[1,2,3,4]

//传入数组
const a1 = [1,2,3,4];
const a2 = Array.from(a1);
console.log(a1 === a2);//false

//可以使用任何可迭代对象
cosnt iter = {
   
	*[Symbol.iterator](){
   
		yield 1;
		yield 2;
		yield 3;
		yield 4;
	}
}
console.log(Array.from(iter));//[1,2,3,4]

//arguments对象可以被轻松的转换为数组
function getArgsArray(){
   
	return Array.from(arguments);
}
console.log(getArgsArray(1,2,3,4));//[1,2,3,4]

//from方法也可以传唤携带有必要属性的自定义对象
const arrayLikeObject = {
   
	0:1,
	1:2,
	2:3,
	3:4,
	length:4
};
console.log(Array.from(arrayLikeObject));//[1,2,3,4]

//from方法可以接收第二个参数,是一个函数,用来直接增强新数组的值
//第三个参数作为第二个参数函数中this的值
const a1 = [1,2,3,4];
const a2 = Array.from(a1,x=>x**2);
const a3 = Array.from(a1,function(x){
   return x**this.exponent},{
   exponent:2})
console.log(a2);//[1,2,3,4]
console.log(a3);//[1,2,3,4]
  1. 通过Array.from方法来创建数组
    (1)接收字符串参数,返回每个字符所组成的数组。
    (2)接收Set类型参数,返回Set中的值组成的参数。
    (3)接收Map类型参数,将每个Map的键值对作为数组,返回每个键值对数组所组成的数组。
    (4)接收可迭代的对象,返回对象中值组成的数组。
    (5)接收函数中的arguments对象,返回参数组成的数组。
    (6)接收特定的对象,有length属性及其值和索引值属性及其值。
    (7)可接收第二个参数,得是一个函数,用来增强数组的值。
    (8)可接收第三个参数,作为指定映射函数中this的值。
console.log(Array.of(1,2,3,4));//[1,2,3,4]
  1. 通过Array.of方法来创建数组,返回其参数组成的数组。

2.数组空位

const options = [,,,,,];
console.log(options);//[,,,,,]
    • 1
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 打赏
      打赏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    木子 旭

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值