JavaScript之数组常用API
这篇文章主要帮助大家简单理解数组的一些常用API用法,许多小伙伴常用方法记不住?别急,看完下面的介绍您一定就会明白各个方法是如何用的了。该文章适合新手小白看,大佬可以多多指点️!
1.数组的创建以及Array.of()
下面介绍几种创建数组的方法:
// 创建数组的三种方式
// 1.通过array.of()
const myArray = Array.of('', '', '️')
// 2.通过[]
const myArray2 = [1, 1, 4, 5, 6]
// 3.当参数是一个number时,创建一个指定长度数组
const myArray3 = new Array(3)
console.log(myArray,myArray2, myArray3)//[ '', '', '️' ] [ 1, 1, 4, 5, 6 ] [ , , ]
// Array.of() 创建数组时,当只有一个参数时前者会创建一个仅包含该值的数组.
//new Array() 创建数组时,如果该参数为Number类型则创建一个值得长度的空数组,其他类型则与前者一样.
console.log(Array.of(2),new Array(2))//[ 2 ] [ , ]
2.数组API之Array.push() & Array.unshift()
数组的push方法常用于将一个或多个元素依次插入到数组后面,并且返回数组的新长度。看下面的例子你就会明白Push()的用法了。
// 定义一个数组 并且添加4个元素
let array = [1, 2, 3, 4]
let lenth = array.push(5, 'hello')
// 打印返回新的数组长度
console.log(`output->长度:${lenth}`) //output->长度:6
// 使用模板字符串 会调用array.tostring()
console.log(`output->打印数组:${array}`) //output->打印数组:1,2,3,4,5,hello
同理:要想在数组前面插入新数据的话该怎么办呢,你可以使用unshift()。unshift() 向数组的开头添加一个或多个元素,并返回新的长度。我们也给个例子:
let newArray = [1, 2, 3, 4]
newArray.unshift(0)
let newLenth = newArray.unshift('hello','world')
// 打印返回新的数组长度
console.log(`output->长度:${newLenth}`)
console.log(`output->打印数组:${newArray}`)
这里需要注意使用unshift()插入一个值的时候是依次在头部插入,但是一次插入多个值的时候可以看作是将一个整体插入在头部
3.数组API之Array.pop() & Array.shift()
pop()用于删除最后一个元素并且返回,shift()用于删除第一个元素并返回,例子如下:
let newArray = [0, 1, 2, 3, 4]
// 打印pop()返回值,以及原数组
console.log(`删除的值:${newArray.pop()},结果:${newArray}`) //删除的值:5,结果:0,1,2,3,4
// 打印shift()返回值,以及原数组
console.log(`删除的值:${newArray.shift()},结果:${newArray}`) //删除的值:0,结果:1,2,3,4
3.数组常用高级API用法:foreach(),map(),find(),filter()等...
const myArray = Array.of(1, 2, 3)
// foreach 遍历每个元素,做后续处理,处理完会返回undefined
const forEachRes = myArray.forEach(item => console.log(++item)) // console.log输出:2,3,4
console.log(`forEach方法的返回值:${forEachRes},原数组:[${myArray}]`) //forEach方法的返回值:undefined,原数组:[1,2,3]
const newArray = [1, 1, 2, 3, 4]
// every 方法返回布尔值 会判断每个元素是否符合条件,全部符合才返回true
console.log(newArray.every(item => item > 1)) // false
// some方法返回布尔值 会判断每个元素是否符合条件,全部不符合才返回false
console.log(newArray.some(item => item > 3)) // true
// find 方法返回数组第一个符合条件的元素,否则返回undefined
console.log(newArray.find(item => item > 1)) // 2 (从数组可以看到第一个大于1的是2)
// map 遍历所有元素,并且会由map返回(1.作相等性判断会返回布尔值数组2.赋值操作,返回新数组) 原数组不变
console.log(newArray.map(item => ++item), `原数组:[${newArray}]`) //map执行完返回的数组:[ 2, 3, 4, 5 ] 原数组:[1,2,3,4]
// filter 遍历所有元素 常用于返回符合条件的元素数组,不符合返回空数组
console.log(newArray.filter(item => item > 1)) //[ 2, 3, 4 ]
console.log(newArray.filter(item => item < 1)) // []
// 拼接数组
console.log(myArray.concat(newArray)) //[ 1, 2, 3, 1, 1, 2, 3, 4]
可以看到map(),filter(),find(),every()等与foreach有类似的效果,遍历每个元素,只是各自的返回结果不同,所以使用时应当注意。再说下map()与filter()简单区别,map()一般可用于返回一个元素个数不变的数组(对元素操作,最终元素个数不变),而filter()则可用于获得自己需要的元素数组。
总结
以上只是一些简单用法,目的让大家知道各种API的意思与用法,其他高级用法大家可以在实践中自行探索。方法之多,我们需要根据自己的需求去选择适合的方法,以提高开发效率。后面还会介绍一些数组的高级用法以及高阶API-reduce()。
JavaScript之数组常用API的更多相关文章
- 【repost】Javascript操作DOM常用API总结
Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...
- 数组常用API(1)
数组常用API: 1. push 作用:数组尾部添加: 特点:可以添加一个或多个值: 返回值是数组最新的长度:会改变原数组: 示例: var arr = [10,20,30,40]; ...
- javascript中数组常用的方法和属性
前言 在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属 ...
- js数组常用api
数组创建 第一种,使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = new Array(10); // 创建一个包含10项的数组 ...
- javascript中数组常用的方法
在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. ...
- JavaScript 操作 DOM 常用 API 总结
文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...
- Javascript操作DOM常用API总结
基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们. Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现.这 ...
- Java数组常用API
java.util.Arrays Arrays.asList() 数组转换成列表 String[] strArray = {"zhang", "xue", &q ...
- 数组常用API
内容待添加... //根据分数排名字 //方法1 var students = ['小明','小红','小花'] var scores = {小明:,小红:,小花:} //1 添加分数到student ...
随机推荐
- 物联网微消息队列MQTT介绍-EMQX集群搭建以及与SpringBoot整合
项目全部代码地址:https://github.com/Tom-shushu/work-study.git (mqtt-emqt 项目) 先看我们最后实现的一个效果 1.手机端向主题 topic111 ...
- 2.shell脚本99乘法表
shell脚本99乘法表 [root@localhost data]# vim cf.sh
- 合宙AIR105(四): SPI, MAX7219 8x8LED驱动
目录 合宙AIR105(一): Keil MDK开发环境, DAP-Link 烧录和调试 合宙AIR105(二): 时钟设置和延迟函数 合宙AIR105(三): 定时器, 定时器中断和PWM输出 合宙 ...
- Nacos 的安装与服务的注册
Nacos 的安装与服务的注册 我们都知道naocs是一个注册中心,那么注册中心是什么呢? 什么是注册中心? 它类似与一个中介角色(不收费的良心中介), 在微服务中起纽带的作用,它提供了服务和服务地址 ...
- 自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!
HashMap(Python字典)设计原理与实现(上篇)--哈希表的原理 在此前的四篇长文当中我们已经实现了我们自己的ArrayList和LinkedList,并且分析了ArrayList和Linke ...
- 【主流技术】Redis 在 Spring 框架中的实践
前言 在Java Spring 项目中,数据与远程数据库的频繁交互对服务器的内存消耗比较大,而 Redis 的特性可以有效解决这样的问题. Redis 的几个特性: Redis 以内存作为数据存储介质 ...
- 记一次 Druid 超时配置的问题 → 引发对 Druid 时间配置项的探究
开心一刻 一天在路边看到一个街头采访 记者:请问,假如你儿子娶媳妇,给多少彩礼合适呢 大爷:一百万吧,再给一套房,一辆车 大爷沉思一下,继续说到:如果有能力的话再给老丈人配一辆车,毕竟他把女儿养这么大 ...
- HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!!
HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!! 我们在上篇文章哈希表的设计原理当中已经大体说明了哈希表的实现原理,在这篇文章当中我们将自己动手实现我们自己的HashMap ...
- 共享手机中的VXN流量给其他设备使用
此篇博文讲的什么 不想看废话的,直接看这里就行了: 手机端(IOS,已越狱)装的传统的VXN,没法直接共享流量给其他设备用,可以在手机端开放个socketsserver,我现在用的ssh,它也能提供这 ...
- Solution -「COCI 2016-2017」 Mag 结论证明
结论:最多包含一个 \(2\),并且不在链的两端点. 证明:我们问题分成两个 \(\texttt{pass}\). \(\texttt{pass 1}\):\(\forall u,s.t.x_{u}\ ...