首页 > 编程语言 >javascript 高级编程系列 - 数组

javascript 高级编程系列 - 数组

时间:2023-08-15 11:46:01浏览次数:45  
标签:编程 const log items javascript 索引 数组 console Array

1. Array.of 创建数组

const items  = Array.of(1, 2, 3);
console.log(items);

2. Array.from 将可迭代对象或类数组对象转换为数组

const items = Array.from('123');
console.log(items);

3. Array.prototype.find & Array.prototype.findeIndex

在数组中查找符合条件的第一个元素和元素索引

const items = [1, 2, 3, 4];
const number = items.find((val) => val % 2 === 0);
const index  = items.findIndex((val) => val % 2 === 0);
console.log(index, ':', number); // 1:2

4. Array.prototype.indexOf & Array.prototype.lastIndexOf

在数组中查找指定元素第一次出现的索引

const items = [1, 2, 1, 4];
const first = items.indexOf(1);
const last = items.lastIndexOf(1);
console.log(first);  // 0
console.log(last);   // 2

5.Array.prototype.fill 用指定的数据填充数组

填充所有的位置

const items = [1, 2, 3, 4];
items.fill(1);
console.log(items); // [1, 1, 1, 1]

从索引2位置开始填充整个数组

const items = [1, 2, 3, 4];
items.fill(1, 2);
console.log(items); // [1, 2, 1, 1]

从索引1开始填充到索引3的位置(不包括索引3)

const items = [1, 2, 3, 4];
items.fill(1, 1, 3);
console.log(items); // [1, 1, 1, 4]

给数组设定默认值

const array = new Array(4);  // 设定数组长度为4
array.fill(1);
console.log(array); // [1, 1, 1, 1]

6. Array.prototype.copyWithin 复制和粘贴数组元素

从索引2的位置开始粘贴,从索引0的位置开始复制

const items = [1, 2, 3, 4];
items.copyWithin(2, 0);
console.log(items);   // [1, 2, 1, 2]

从索引2的位置开始粘贴,从索引0的位置开始复制,到索引1时停止复制

const items = [1, 2, 3, 4];
items.copyWithin(2, 0, 1);
console.log(items);   // [1, 2, 1, 4]

标签:编程,const,log,items,javascript,索引,数组,console,Array
From: https://www.cnblogs.com/xiaodi-js/p/17630933.html

相关文章

  • 什么是切面编程?
    在探讨SpringFramework框架时,一个重要而深奥的主题是切面编程(Aspect-OrientedProgramming,AOP)。在本篇博客中,我们将深入分析AOP的概念、原理以及在Spring中的实际应用。切面编程是一种编程范式,旨在将横切关注点(Cross-CuttingConcerns)与主要业务逻辑分离开来。横切关注点是......
  • 异步编程的重要性
    在传统的同步编程中,代码按照顺序执行,当某个操作阻塞时,整个程序可能会受到影响。异步编程通过将任务分解为独立的异步操作,可以提高系统的并发性和响应性。异步编程的原则异步编程的核心原则包括:非阻塞操作:异步操作不会阻塞主线程,使得程序可以继续执行其他任务。回调机制:通过回调函数......
  • vue + element-ui 的from表单嵌套数组的验证问题
    在vue+element-ui/plus的项目中,有的时候会出现表单自定义增加数组字段,并要对新增加的字段添加相关验证。举个例子//结构data(){return{form:{name:'',Param:[{id:0,label:'',Itemtype:0,},......
  • 如何向这个public static void main(String[] args)中的args数组传递参数呢
    如何向这个publicstaticvoidmain(String[]args)中的args数组传递参数呢要向publicstaticvoidmain(String[]args)中的args数组传递参数,可以在命令行中运行Java程序时附加参数。以下是两种常见的方法:在命令行中手动输入参数:我们首先要进入这个类所在的文件夹在......
  • postgres do body定义二维数组
    customFieldLabelsvarchar[][]:='{{"a","b",NULL},{"a","b","NULL"}}'::varchar[][];是string[][],所以{"a","b"}是用了双引号的,当然也可以都不用双引号,但是不用的话NULL值就不好处理,字符串"NULL"和NU......
  • 7.1 C/C++ 实现动态数组
    动态数组相比于静态数组具有更大的灵活性,因为其大小可以在运行时根据程序的需要动态地进行分配和调整,而不需要在编译时就确定数组的大小。这使得动态数组非常适合于需要动态添加或删除元素的情况,因为它们可以在不浪费空间的情况下根据需要动态增加或减少存储空间。动态数组的内存......
  • () {}用法,Linux shell脚本编程时bad substitution解决办法
     首先,我们要理解badsubstitution的字面意思,它的字面意思是“替换错误”的意思。这种错误的原因呢,通常是我们编写脚本时“{}”和“()”错误使用导致的。比如应该用“()”时,我们用成了“{}”;应该用“()”时,用成了“{}”。 那么如何区分什么时候用什么类型的括号呢?${}中,大括号里......
  • socket编程原理
    socket编程原理1问题的引入UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,......
  • 学习go语言编程之网络编程
    Socket编程Golang语言标准库对Socket编程进行了抽象,无论使用什么协议建立什么形式的连接,都只需要调用net.Dial()即可。Dial()函数Dial()函数的原型如下:funcDial(network,addressstring)(Conn,error)参数含义如下:network:网络协议名字,如:tcp,udp等Dial()函数支持的网络......
  • 学习go语言编程之并发编程
    并发基础并发包含如下几种主流的实现模型:多进程多线程基于回到的非阻塞/异步IO协程协程与传统的系统级线程和进程相比,协程最大的优势在于“轻量级”,可以轻松创建上百万个而不会导致系统资源枯竭,而线程和进程通常最多不超过1万个。Golang在语言级别支持协程,叫goroutine。......