数组总结,持续更新~

news/2024/7/3 6:16:00

数组的基础方法,就不一一介绍了,这里会介绍一些常用的ES6的一些常用方法,

在这之前,先说一些数组的常见问题。

1 数组的构建

数组的普通调用,等于构造调用。

下面的3种方式,都是一样的。

let arr = Array(1, 2)
let arr1 = new Array(1, 2)
let arr2 = [1, 2]
复制代码

2 稀疏数组

  • 产生
  1. 数组的普通调用和构造调用,如果只传一个数字,则该数字就是数组的length,不是内容。也就是说,数组有length,但没有任何单元,打印显示为empty

    如果传的不是数字,就作为数组第一项的值。

let arr = Array(2)  // [empty, empty]
let arr1 = new Array(2) // [empty, empty]
let arr2 = Array('2')   // ["2"]
let arr4 = new Array('2')   // ["2"]
复制代码
  1. 跳着插入引起

数组length以现有数组元素,最大下标值计算

let arr = [1, 2, 4]
arr[5] = 7
console.log(arr)    // [1, 2, 4, empty, empty, 7]
复制代码
  1. 由length非只读引起
let arr = [1, 2, 4]
arr.length = 5
console.log(arr)    // [1, 2, 4, empty, empty]
复制代码
  1. 逗号引起

数组末尾处,有一个逗号没关系,会自动省略。但超过一个,就有问题

数组中间,或是开头,多一个逗号,都会有问题

let arr = [1, 2, 4, , ,]  // [1, 2, 4, empty, empty]
let arr = [1, 2, , 4]   // [1, 2, 4, empty, 4]
复制代码
  • 注意,打印输出稀疏数组时,没有的元素,显示为empty,但是该位置是undefined
let arr = [1, 2, , 4]   // [1, 2, 4, empty, 4]
console.log(arr[2])     // undefined
复制代码

转载于:https://juejin.im/post/5b2a67b7e51d4558ab7b2947


http://www.niftyadmin.cn/n/4388303.html

相关文章

小程序中form 表单提交和取值方法

我们直接给 input 添加 bindinput,比如:<input bindinput="onUsernameInput" />,可以在 onUsernameInput 中直接使用 e.detail.value,即: onUsernameInput : function(e) { e.detail.value; } 但是,如果有多个输入控件,我们不可能为每个控件添加 bind…

java dateformat 24_java – (简单)DateFormat,允许24:00:00和00:00:00作为输入

值24:00未在LocalTime中表示,因为它严格地是第二天的一部分.考虑到24:00可以表示为LocalTime的一部分的模型,但结论是它在很多用例中会非常混乱,并且会产生比它解决的更多错误.但是在java.time中支持24:00.完全可以使用标准格式化技术对其进行解析,但是必须使用SMART或LENIENT模…

python使用yaml库读取和写入数据

import yamltest.yml文件数据&#xff1a;yaml_path r"D:\PycharmProjects\2020study\BBBstudy\test.yml" with open(yaml_path, r) as f:cfg f.read()print(cfg)# 此时读出来的数据是字符串print(type(cfg))# 用yaml.load方法转字典d yaml.load(cfg)print(d)prin…

lambda函数复习

def test(x):return x*x # 这里我们用lambda定义一个匿名的内联函数。请注意&#xff0c;该函数没有名称。test 是保存创建的lambda函数的变量的名称 # 上面的函数和下面的lambda函数是一样的 test_f lambda x: x*x print(test(3)) print(test_f(3)) # 常量函数 def constant(…

java serializable用法_java基础----gt;Serializable的使用

Serializable序列化的简要说明一、 持久化的简单介绍&#xff1a;“持久化”意味着对象的“生存时间”并不取决于程序是否正在执行——它存在或“生存”于程序的每一次调用之间。通过序列化一个对象&#xff0c;将其写入磁盘&#xff0c;以后在程序再次调用时重新恢复那个对象&…

html5-4 HTML5超链接、URL地址和表格

html5-4 HTML5超链接、URL地址和表格 一、总结 一句话总结&#xff1a; 1、cellspace有什么用&#xff1f; 清除表格的单元格间距 26 <table border1px cellspacing0px width100%> 2、页面中的字体一般用什么好&#xff0c;怎么设置&#xff1f; 微软雅黑&#xff0c…

两行代码激活windows系统

slmgr /skms kms.03k.org slmgr /ato 将以上代码存为bat文件运行

python使用time库创建时间路径和时间文件

import time import osclass FilePath(object):def __init__(self):# 获得当前系统时间的字符串self.local_time time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime(time.time()))print(self.local_time)print(type(self.local_time))# 获取年字符串self.year se…