javaScript 数组[arrary]的工具类

本文探讨JavaScript中数组的创建、空元素、索引操作、类型判断以及迭代器等核心概念。通过Array构造函数、数组字面量、ES6的`from()`和`of()`方法来创建数组。此外,介绍如何利用索引访问和修改数组元素,并讨论`instanceof`和`isArray()`在判断数组类型时的区别,最后触及数组的迭代器应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Arrary,应该在js中是常见的数据类型,自己在平时开发中,也就使用数组增删改查的API,并没有深入的去了解它。js中的数组跟其它语言最大的不同是,每个槽位可以储存任意类型的数据,数组也是动态大小,会随着数据添加而自动增长。

一、创建数组

  1. 使用Arrary构造函数
    let why = new Array() // 构造函数
    
    let text1 = new Array(3)
    console.log(text1.length) // 只有长度,没有内容
    
    let text2 = new Array('abc', 'nba', 'cba')
    console.log(text2) //  ["abc", "nba", "cba"]  创建出包含3个元素的数组
    
    ps:使用构造函数时候,可以省略new操作符
    
  2. 数组字面量
    let text1 = ['abc', 'nba', 'cba'] // 创建三个元素的数组
    let text2 = [] // 创建一个空数组
    let text3 = ['abc', 'nba',  ] // 包含2个值的数组  
    consol.log(text3[2]) // undefined
    
  3. es6中新增创建数组的静态方法: from() 和 of()
    from类数组转换成数组实例
    console.log(Array.from('nba')) // ["n", "b", "a"] 字符串被拆分成单字符的数组
    
    // 数组的集合
    let text1 = new Set(['nba', 'cba']) // Set(2) {"nba", "cba"}
    let c = Array.from(text1 ) // ["nba", "cba"]
    
    // 数组的映射
    let text2 = new Map().set(1,1)
    let a = Array.from(text2) // [[1, 1]]
    待补充。。。。。。
    
    of一组参数转换成数组实例
    console.log(Array.of(1, 2, 3, 4)) // [1, 2, 3, 4]
    

二、数组空元素

  1. 使用字面量数组时候,可以使用逗号来创建空位
    	let opts = [,,,,,] //  [empty × 5]
    	新增的es6语法把空位当成存在元素,只不过值为undefined
    	for (item item of opts) {
    		alert(item)
    	}
    	// undefined undefined undefined undefined undefined
    

三、数组索引

  1. 要取得或者设置数组的值,需要使用中括号【】并填写相对应的索引值即可
    let text1 = ['abc', 'nba']
    console.log(text1[0]) // abc
    text1[1] = 'demo' // 修改第二项
    text2[2] = 'cba' // 新增第三项
    
    ps: 索引小于数组包含的元素数,可以返回储存相对应元素,也可以设置数组;索引大于数组最大索引,则数组长度会自动将索引值+1

四、数组类型的判断

  1. instance of 和 isArrary
    有两种方法可以确定数组是数组还是对象
    	Array.isArray(item)
    	item instanceof Array
    
    这两个解决方案有什么区别?
    	a、isArray是一个ES5方法,所以不支持旧的浏览器,但它可靠地确定一个对象是否是一个数组。
    	b、instanceof只检查Array.prototype是否在对象的[[Prototype]]链上。它在跨框架检查数组时失败,
    	因为用于实例的Array构造函数可能与用于测试的数组不同。
    

五、迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值