首页 > 其他分享 >第一百一十二篇: JS数组Array(一)数组基本用法

第一百一十二篇: JS数组Array(一)数组基本用法

时间:2022-12-13 00:12:31浏览次数:54  
标签:一百一十二 log colors let 数组 console Array

好家伙,

 

1.数组

 

Array应该就是ECMAScript中最常用的类型了。ECMAScript数组跟其他编程语言的数组有很大区别。

跟其他语言中的数组一样,ECMAScript 数组也是一组有序的数据,

但跟其他语言不同的是,数组中每个槽位可以存储任意类型的数据。

这意味着可以创建一个数组,它的第一个元素是字符串,第二个元素是数值,第三个是对象。

ECMAScript数组也是动态大小的,会随着数据添加而自动增长。

 

2.创建数组

有几种基本的方式可以创建数组。一种是使用Array 构造函数,另一种是使用数组字面量

 

2.1.使用Array 构造函数创建数组

可以直接使用new字符创建,可以传参,也可以直接传入要保存的数

 

let Array_1 = new Array();

//创建length为20的数组 let Array_2 = new Array(20);
Array_3 = new Array("red","blue", "green"); console.log(Array_1,Array_2,Array_3);

 

 

 

 

 

 

2.2.使用数组字面量创建数组

 

let Array_1 = []; 

let Array_2 = [1,2,];

Array_3 = ["red","blue", "green"];

console.log(Array_1,Array_2,Array_3);

 

 

 

 

 

此处Array_2仍然是空数组

 

2.3.Array构造函数好友两个ES6新增的用于创建数组的静态方法:from()和of().

from()用于将类数组结构转换为数组实例,

而of()用于将一组参数转换为数组实例

 

console.log(Array.from("Array"));

console.log(Array.of(1,2,3,4,5));

 

 

 

 

 

 

3.数组空位

使用数组字面量初始化数组时,可以使用一串逗号来创建空位(hole)。

ECMcript会将逗号之相应索引位置的值当成空位,ES6规范重新定义了该如何处理这些空位。

const options = [1, , , , 5];
for (const option of options) {
    console.log(option === undefined);
}

 

 

 

 

4.数组索引

 跟大部分语言相同,JS的数组索引也是从"0"开始算起的

let colors = ["red", "blue", "green"]; //定义一个字符串数组
console.log(colors[0]);
//显示第一项
colors[2] = "black";
//修改第三项
colors[3] = "brown";
//添加第四项
console.log(colors);

 

 

 

 

有意思的是,我们可以使用length属性不停的向数组末尾添加元素

let colors = ["red", "blue", "green"]; //定义一个字符串数组
for (let i = 2; i <= 10; i++) {
    colors[colors.length] = "nocolors";
}
console.log(colors);

 

 

 

(实用小技巧+1) 

 

5.数组检测

一个经典的ECMAScript问题是判断一个对象是不是数组。

在只有一个网页(因而只有一个全局作用域)的情况下,使用instanceof 操作符就足矣:

 使用instanceof的问题是假定只有一个全局执行上下文。

如果网页里有多个框架,则可能涉及两个不同的全局执行上下文,因此就会有两个不同版本的Array 构造函数。

如果要把数组从一个框架传给另一个框架,则这个数组的构造函数将有别于在第二个框架内本地创建的数组。

为解决这个问题,ECMAScript提供了Array.isArray()方法.这个方法的目的就是确定一个值是否为数组,

而不用管它是在哪个全局执行上下文中创建的

let colors = ["red", "blue", "green"]; //定义一个字符串数组
console.log(Array.isArray(colors))

 

 

 

6.迭代器方法

 

 

 

标签:一百一十二,log,colors,let,数组,console,Array
From: https://www.cnblogs.com/FatTiger4399/p/16977145.html

相关文章

  • 代码随想录训练营第六天|LeetCode242有效的字母异位词、LeetCode349两个数组的交集、L
    LeetCode242有效的字母异位词tag:#哈希表#数组leetcode地址:242. 有效的字母异位词代码://通过数组的方式对每个字母进行统计数量,然后遍历数组,查看是否每一项都为0f......
  • java 数组实现队列
     算法题用数组实现队列,三个函数,分别是添加add(),出队poll()和获取队中的元素个数getSize()当队的元素满的时候进行二倍的扩容。classmyqueue{privateint[]date;......
  • 数据结构之数组
    1.数组实现数组的特点:内存是连续的,即物理地址是连续的。优点:随机访问的时间复杂度为O(1);末尾位置增加元素的时间复杂度为O(1);访问元素前后相邻位置的元素非常方便......
  • 【LeetCode】二分法--剑指 Offer 53 - I. 在排序数组中查找数字 I
    点击直达题目内容统计一个数字在排序数组中出现的次数。示例示例1:输入:nums=[5,7,7,8,8,10],target=8输出:2示例2:输入:nums=[5,7,7,8,8,10],target......
  • 数组的活学活用(一)
    概览数组我们知道,是一种有序连续的数据结构,随机访问的效率高。之所以随机访问的效率高,就是因为它的每个值都有下标,可以根据下标直接找到我们想要的值。 既然我们已经......
  • Shell数组基本概述
    1.数组基本概述01.什么是数组?数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值。02.数组的分类Shell数组分为普通数组和关联数组。普通数组:只能使......
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II(状态转移 位运算)
      ​​剑指Offer56-II.数组中数字出现的次数II​​难度中等38在一个数组 ​​nums​​ 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次......
  • 剑指offer 数组中的逆序对(归并排序)
    ​​剑指Offer51.数组中的逆序对​​难度困难176在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的......
  • 原地合并两个排序数组 O(1)空间复杂度,O(n)时间复杂度
    问题:给你两个从小到大的数组a,b。在不申请额外空间下,往a填充a和b合并后的排序数组(假设a的空间是足够的)。第一种方法:很直觉的思路是,我们采取和归并排序时同样的策略,每次拿出最......
  • Go语言实战之数组的内部实现和基础功能
    写在前面嗯,学习​​GO​​,所以有了这篇文章博文内容为​​《GO语言实战》​​读书笔记之一主要涉及数组相关知识世上除了爹娘,再没有人是理所应当对你好的。——烽火戏诸侯......