Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript中Array怎么用?

JavaScript中Array怎么用?

原创
作者头像
Learn-anything.cn
发布于 2021-12-20 07:51:35
发布于 2021-12-20 07:51:35
1.4K0
举报
文章被收录于专栏:learn-anything.cnlearn-anything.cn
一、Array

Array 是 JavaScript 的全局数组对象,其元素可以是不同类型,如果需要元素是同一类型,可使用 TypedArray。


二、怎么用?
代码语言:txt
AI代码解释
复制
<!DOCTYPE html>
<html lang='zh-CN'>

<head>
    <meta charset="utf-8">
    <title>Symbol</title>
    <script>
        // 创建数组
        let fruits = ['Apple', 'Banana'];
        // 访问数组
        console.log(fruits[0]);
        // 遍历数组
        fruits.forEach(function (item, index, array) {
            console.log(item, index)
        })
        // 增加元素到数组末尾
        fruits.push('Orange')
        console.log(fruits);
        // 删除数组末尾的元素
        fruits.pop();
        console.log(fruits);
        // // 删除数组头部元素
        fruits.shift()
        console.log(fruits);
        // // 添加元素到数组的头部
        fruits.unshift('Strawberry')
        console.log(fruits);
        // // 找出某个元素在数组中的索引
        console.log(fruits.indexOf('Banana'));
        // // 通过索引删除元素
        fruits.splice(0, 1)
        console.log(fruits);
        // // 复制一个数组
        console.log(fruits.slice());

    </script>
</head>

<body>
    <h1>Symbol : 打开 Console 看结果!</h1>
</body>

</html>

三、ArrayBuffer
1、是什么?

表示通用的、固定长度的原始二进制数据缓冲区。不能直接使用ArrayBuffer,需要转换成 类型数组对象(TypedArray) 或 DataView 对象,才能使用。

代码语言:txt
AI代码解释
复制
// 转换ArrayBuffer 为类型数组 Int32Array
var buffer = new ArrayBuffer(8);
var view   = new Int32Array(buffer);
2、使用 ArrayBuffer 的WebAPI

四、TypedArray

TypedArray(类型数组对象)包含:Int8Array、Uint8Array、Uint8ClampedArray、Int16Array、Uint16Array、Int32Array、Uint32Array、Float32Array、Float64Array、BigInt64Array、BigUint64Array。


五、DataView

可以从 二进制ArrayBuffer 对象中读写多种数值类型的底层接口,使用它时,不用考虑不同平台的字节序问题。

代码语言:txt
AI代码解释
复制
// create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);

// Create a couple of views
const view1 = new DataView(buffer);
const view2 = new DataView(buffer, 12, 4); //from byte 12 for the next 4 bytes
view1.setInt8(12, 42); // put 42 in slot 12

console.log(view2.getInt8(0));
// expected output: 42

六、参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript 高级程序设计(第 4 版)- 集合引用类型
定型数组同样使用数组缓冲来存储数据,而数组缓冲无法调整大小,故以下方法不适用于定型数组
Cellinlab
2023/05/17
7100
JavaScript基础-数组操作:增删改查
数组作为JavaScript中最常用的数据结构之一,其增删改查操作是日常开发中的基础技能。本文将深入浅出地介绍数组的常见操作方法,分析在使用过程中遇到的易错点,并提供代码示例及避免策略,助你高效、准确地操作数组。
Jimaks
2024/06/12
5100
javascript中的内置对象和数据结构
基本上所有的程序员都使用过javascript,我们在web中使用javascript,我们在服务器端使用nodejs,js给大家的第一映像就是简单,但是可能并不是所有人都系统的了解过js中的内置对象和数据结构。
程序那些事
2021/02/24
5860
【Web前端】数组:灵活的数据容器高效操作的工具
数组通常被描述为“像列表一样的对象”;它们的特殊之处在于它们是一种可以存储多个值的容器。这些值可以是任何类型的数据,如数字、字符串、布尔,甚至是对象或其他数组,与其他数据类型一样,数组对象可以存储在变量中,像处理普通变量一样进行操作——可以传递给函数、赋值给其他变量或用作表达式的一部分。
一条晒干的咸鱼
2024/11/19
1050
js操作二进制数据
使用ArrayBuffer对象保存二进制数据,使用TypedArray和DataView 视图来读写数据。
风花一世月
2024/03/19
2260
js操作二进制数据
JS常用方法-数组篇
push(),pop(),shift(),unshift(),splice(),sort(),reserve(),我自己比较常用的有unshfit(),splice()
全栈开发日记
2022/05/13
2.1K0
初识v8之starctf2019-oob
最近开始学习浏览器相关的知识了,虽说看了一些基础知识,但是对于漏洞利用的手法仍然不是很明确,询问队里的大佬后,给我推荐了一道入门题,在做完之后写出了这篇文章。
h1J4cker
2022/12/01
5620
前端二进制文件处理
上一篇文章从 W3C 草案的角度入手过了一遍 File API 的几个方法,这一篇尝试梳理一下二进制数据相关的一些方法,有 Blob、ArrayBuffer、Uint8Array、BufferSource 等。
上山打老虎了
2022/06/15
1.6K0
前端二进制文件处理
web 直播流的解析
本文作者:ivweb villainthr Web 进制操作是一个比较底层的话题,因为平常做业务的时候根本用不到太多,或者说,根本用不到。 老铁,没毛病 那什么情况会用到呢? canvas webso
腾讯IVWEB团队
2017/07/14
3.9K2
web 直播流的解析
【Java 进阶篇】JavaScript Array数组详解
当我们编写JavaScript代码时,经常需要处理一组数据。JavaScript中的数组(Array)是一种用于存储多个值的数据结构,它提供了许多方法和功能,使我们能够方便地操作这些数据。在本篇博客中,我们将详细探讨JavaScript数组,包括如何创建、操作、遍历和使用数组。
繁依Fanyi
2023/10/19
2480
Js基本语法实战之数组Array
JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。
JavaEdge
2021/03/14
1.3K0
ArrayBuffer
ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011 年 2 月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统称为二进制数组。 这个接口的原始设计目的,与 WebGL 项目有关。所谓 WebGL,就是指浏览器与显卡之间的通信接口,为了满足 JavaScript 与显卡之间大量的、实时的数据交换,它们之间的数据通信必须是二进制的,而不能是传统的文本格式。文本格式传递一个 32 位整数,两端的 JavaScript 脚本与显卡都要进行格式转化,将非常耗时。这时要是存在一种机制,可以像 C 语言那样,直接操作字节,将 4 个字节的 32 位整数,以二进制形式原封不动地送入显卡,脚本的性能就会大幅提升。
小小杰啊
2022/12/21
2.5K0
深入 JavaScript 数组:进化与性能
正式开始前需要声明,本文并不是要讲解 JavaScript 数组基础知识,也不会涉及语法和使用案例。本文讲得更多的是内存、优化、语法差异、性能、近来的演进。
疯狂的技术宅
2019/03/27
1K0
深入 JavaScript 数组:进化与性能
ECMAScript 2017(ES8)新特性简介
ES8是ECMA协会在2017年6月发行的一个版本,因为是ECMAScript的第八个版本,所以也称为ES8.
程序那些事
2021/03/17
5950
ES5、ES6、ES7、ES8、ES9 、ES10 数组方法总结
JavaScript 数组方法的总结,包括ES5、ES6、ES7、ES8、ES9 和 ES10
星辰大海c
2023/11/08
5160
内功修炼之lodash—— clone&cloneDeep(一定有你遗漏的js基础知识)
本文实现方法都是看效果倒推实现方法,并进行一些拓展和思考,和源码无关。lodash这个库在这里更像一个题库,给我们刷题的
lhyt
2019/11/19
5.5K0
JS中的二进制数据处理
  在现有的计算机中,二进制常常以字节数组的形式存在于程序当中。例如在C#里面,就用byte[],标准C里面没有byte类型,但可以通过typedef把byte定义为unsigned char的别名,效果是一样的。JS设计之初似乎就没想过要处理二进制,对于字节的概念可以说是非常非常的模糊。如果要表达字节数组,那么似乎只能用一个普通数组来表示。
有赞coder
2021/05/13
3.7K0
JS中的二进制数据处理
JavaScript高级程序设计-性能整理(一)
当然,在把 HTMLElement 元素添加到 DOM 且执行到这段代码之前不会发送请求。默认情况下,以这种方式创建的<script>元素是以异步方式加载的,相当于添加了 async 属性。不过这样做可能会 有问题,因为所有浏览器都支持 createElement()方法,但不是所有浏览器都支持 async 属性。因此,如果要统一动态脚本的加载行为,可以明确将其设置为同步加载:
草帽lufei
2022/07/29
6990
JavaScript对象:你知道全部的对象分类吗?
在前面的课程中,我已经讲解了 JavaScript 对象的一些基础知识。但是,我们所讲解的对象,只是特定的一部分,并不能涵盖全部的 JavaScript 对象。
越陌度阡
2022/05/06
6910
JavaScript对象:你知道全部的对象分类吗?
不再碎片化学习,快速掌握 H5 直播技术
现在,大多数已工作的前端工作者的学习方式,要么直接到 Stackoverflow 上搜代码,要么直接看看相关博文。这样是快,但是零零碎碎只是一个一个孤立的知识点而已。有可能一下午都忘记了,唯一可能记住的收藏一下那个文章,然后就彻底躺尸了。那有没有啥更好的办法能解决呢? 当然有,第一,有时间,第二,有人指导,第三,找对资料。 这其实和看书是一样的,一本书,最有价值的地方不在它的内容或者作者,而在于它的 目录,是否真正的打动你。如果只是出现一些模糊而没有落地技术的目录的书籍,还是别再上面浪费时间了。 所以,本文
villainhr
2018/07/03
1.7K0
相关推荐
JavaScript 高级程序设计(第 4 版)- 集合引用类型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档