在 javascript 中如何快速获取数组指定位置的元素

目录
  • 前言
  • 数组的 at() 方法

前言

在 JavaScript 中如果我们需要获取一个数组指定位置的元素,通常情况下,我们一般采用以下方法:

1.通过下标直接获取指定元素:arr[index], index 为非负数。

let arr = [1, 4, 5, 8, 10]
// 获取数组的第一个元素
let num1 = arr[0]
// 获取数组的最后一个元素
let num2 = arr[arr.length - 1]
// 获取数组的倒数第二个元素
let num3 = arr[arr.length - 2]
console.log(num1, num2, num3); // 1 10 8

根据正序位置获取指定的元素比较方便,但是根据逆序位置(倒数第几个)获取指定的元素稍微繁琐(需要计算出正序位置)。
正序时 index 为正整数或0,逆序时 index 为负整数。

那么获取对应位置元素的表达式可以表示为:

index 为正数或0:arr[index]

index 为负数: arr[arr.length + index]

2.通过 slice 方法获取

let arr = [2, 4, 6, 8, 10]
// 获取数组的第一个元素
let num4 = arr.slice(0, 1)
// 获取数组的最后一个元素
let num5 = arr.slice(-1)
// 获取数组的倒数第二个元素
let num6 = arr.slice(-2, -1)
console.log(num4[0], num5[0], num6[0]); // 2 10 8

其实在其他语言中比如 python 如果你想要获取倒数第几个元素是可以通过 arr[index] 直接获取(如arr[-1]获取倒数第一个元素), 但是在 JavaScript 中是不支持这样获取的。

为了更方便获取数组指定位置的元素(无论时正序还是逆序位置),数组提供了一个内置方法 at() 可以通过元素下标直接获取指定位置的数组元素

数组的 at() 方法

我们使用 at 方法实现以上案例:

let arr2 = [2, 4, 6, 8, 10]
// 获取数组的第一个元素
let num4 = arr2.at(0)
// 获取数组的最后一个元素
let num5 = arr2.at(-1)
// 获取数组的倒数第二个元素
let num6 = arr2.at(-2)
console.log(num4, num5, num6); // 2 10 8

语法:at(index), index 是整数,其中包括负整数表示从左往右数第几个元素。

获取指定位置不存在的元素返回 undefined

let arr = [2, 4, 6, 8, 10]
console.log(arr[5]); // undefined

获取类数组指定位置元素

let likeArr = {
  length: 2,
  0: 'vue',
  1: 'react'
}
let lang = Array.prototype.at.call(likeArr, 0)
console.log(lang); // vue

对比

方法 参数范围 简易程度
arr[index] 非负整数 逆序获取元素时需要进行计算,相对繁琐
slice(startIndex, endIndex) 整数 一般需要一到两个下标,相对繁琐
at(index) 整数 只需一个下标 index ,相对简单

到此这篇关于在 javascript 中快速获取数组指定位置的元素的文章就介绍到这了,更多相关js获取数组指定位置的元素内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JS如何在数组指定位置插入元素

    一.JavaScript splice() 方法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 方法实例 //在数组指定位置插入 var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2, 0, "Lemon", "Kiwi"); //输出结果 //Banana, Orange,

  • JS在Array数组中按指定位置删除或添加元素对象方法示例

    JavaScript的数据中可通过splice/slice在指定位置添加或删除元素.另外还有slice.delete等方法实现. splice简介 splice方法向/从数组中添加/删除项目,然后返回被删除的项目. 该方法会改变原始数组. arrayObject.splice(index, howmany, item1, ..., itemX) 参数 描述 index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,

  • 在JS数组特定索引处指定位置插入元素

    很多与数组有关的任务听起来很简单,但实际情况并不总是如此,而开发人员在很多时候也用不到他.最近我碰到了这样一个需求: 将一个元素插入到现有数组的特定索引处.听起来很容易和常见,但需要一点时间来研究它. // 原来的数组 var array = ["one", "two", "four"]; // splice(position, numberOfItemsToRemove, item) // 拼接函数(索引位置, 要删除元素的数量, 元素) ar

  • js从数组中删除指定值(不是指定位置)的元素实现代码

    引用自百度知道里面的一个问答 例如数组{1,2,3,4,5} 要把数组里面的3删除得到{1,2,4,5} js代码: <script type="text/javascript"> Array.p Array.prototype.indexOf = function(val) { //prototype 给数组添加属性 for (var i = 0; i < this.length; i++) { //this是指向数组,this.length指的数组类元素的数量 i

  • JavaScript实现数组在指定位置插入若干元素的方法

    本文实例讲述了JavaScript实现数组在指定位置插入若干元素的方法.分享给大家供大家参考.具体如下: 我们可以通过JS数组的splice方法在执行的位置插入新的元素,非常简单 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to add elements to the array. </p> <button onclick="myFu

  • 在JS数组特定索引处指定位置插入元素的技巧

    如何在JS数组特定索引处指定位置插入元素? 需求: 将一个元素插入到现有数组的特定索引处.听起来很容易和常见,但需要一点时间来研究它. // 原来的数组 var array = ["one", "two", "four"]; // splice(position, numberOfItemsToRemove, item) // 拼接函数(索引位置, 要删除元素的数量, 元素) array.splice(2, 0, "three"

  • 在 javascript 中如何快速获取数组指定位置的元素

    目录 前言 数组的 at() 方法 前言 在 JavaScript 中如果我们需要获取一个数组指定位置的元素,通常情况下,我们一般采用以下方法: 1.通过下标直接获取指定元素:arr[index], index 为非负数. let arr = [1, 4, 5, 8, 10] // 获取数组的第一个元素 let num1 = arr[0] // 获取数组的最后一个元素 let num2 = arr[arr.length - 1] // 获取数组的倒数第二个元素 let num3 = arr[ar

  • JavaScript使用slice函数获取数组部分元素的方法

    本文实例讲述了JavaScript使用slice函数获取数组部分元素的方法.分享给大家供大家参考.具体如下: JS数组带有一个slice方法,可以获取数组的指定部分,下面的代码获取数组中的第二个和第三个元素 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to extract the second and the third elements from the ar

  • 浅谈javascript中字符串String与数组Array

    简单点就是string是字符(串)... 而array是数组...可以放数字啊,字符啊等一系列东东!!! 上个示例: 复制代码 代码如下: var str = "liuzhanqi"; document.write(str["length"]);//等价str.l ength  var str = string.fromcharcode(72, 101, 108, 108, 111, 33); document.write(str); //各整数作为unicode编

  • javascript中json对象json数组json字符串互转及取值方法

    今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //转换为json对象 alert(jsObject.bar); //取json中的值  2.json对象转为json类型的字符串 var js

  • JS 在数组指定位置插入/删除数据的方法

    splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 语法 arrayObject.splice(index,howmany,item1,.....,itemX)  参数说明 参数 描述 index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,则不会删除项目. item1, -, itemX 可选.向数组添加的新项目. 实例 添加一个元素 var array = [1,2,3,4,6]; ar

  • JQuery实现ul中添加LI和删除指定的Li元素功能完整示例

    本文实例讲述了JQuery实现ul中添加LI和删除指定的Li元素功能.分享给大家供大家参考,具体如下: 最近为了实现这个简单的功能也是看了很多的内容,终于找出了看起来简单易实现的方法,我觉得能用最简洁的代码实现,就不要写的那么复杂,看也看不懂.先码着,为后面的项目做做准备. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <met

  • selenium与xpath之获取指定位置的元素的实现

    今天有点新的与大家分享,关于selenium与xpath之间爬数据获取指定位置的时候,方式不一样哦. 详情可以看我的代码,以b站来看好吧: 查看这href元素,如果是xpath,肯定这么写是没有问题的: i.find_element_by_xpath('./a/@href') 但你再selenium里面这样写会报错,所以要改成这样 i.find_element_by_xpath('./a').get_attribute('href') 这样方可正确 这是一个小案例,关于爬取b站音乐视频,但我的技

随机推荐