javascript 数组精简技巧小结

yizhihongxing

JavaScript 数组精简技巧小结

在 JavaScript 中,数组操作是非常常见的操作。本文将总结一些数组精简技巧,帮助你在编程过程中更高效地使用数组。

1. 查询元素是否在数组中

在 JavaScript 中,可以通过 indexOf() 方法查询数组中是否包含某一元素,它会返回该元素在数组中的索引位置,如果数组中不存在该元素,返回 -1

示例一

const arr = [0, 1, 2, 3, 4]
console.log(arr.indexOf(2)) // 输出结果: 2
console.log(arr.indexOf(5)) // 输出结果: -1

示例二

若要判断一个数组中是否包换某个元素,可以使用 includes() 方法,该方法返回一个布尔值,表示该元素是否存在于数组中。

const arr = [0, 1, 2, 3, 4]
console.log(arr.includes(2)) // 输出结果: true
console.log(arr.includes(5)) // 输出结果: false

2. 数组去重

在 JavaScript 中,可以借助 SetforEach 去重。其中 Set 是 ES6 引入的新特性,可以创建一个无重复元素的数组。

示例一

const arr = [1, 2, 3, 3, 4, 4]
const set = new Set(arr)
const newArr = Array.from(set)
console.log(newArr) // 输出结果: [1, 2, 3, 4]

示例二

const arr = [1, 2, 3, 3, 4, 4]
const newArr = []
arr.forEach(item => {
  if (newArr.indexOf(item) === -1) {
    newArr.push(item)
  }
})
console.log(newArr) // 输出结果: [1, 2, 3, 4]

3. 将数组转为用逗号隔开的字符串

在 JavaScript 中,可以使用 join() 方法将数组转换为字符串,它可以接收一个参数,表示用什么符号来分隔数组中的元素。如果没有传参,默认用逗号隔开。

示例一

const arr = ['apple', 'banana', 'orange', 'pear']
console.log(arr.join()) // 输出结果: 'apple,banana,orange,pear'
console.log(arr.join(' & ')) // 输出结果: 'apple & banana & orange & pear'

示例二

const arr = ['apple', 'banana', 'orange', 'pear']
let str = ''
for (let i = 0; i < arr.length; i++) {
  str += arr[i]
  if (i !== arr.length -1 ) {
    str += ', '
  }
}
console.log(str) // 输出结果: 'apple, banana, orange, pear'

4. 将数组中的元素根据条件筛选出来

在 JavaScript 中,可以借助 filter() 方法,筛选满足条件的元素,然后将这些元素存入一个新的数组返回。

示例一

const arr = [1, 2, 3, 4, 5]
const newArr = arr.filter(item => item > 2)
console.log(newArr) // 输出结果: [3, 4, 5]

示例二

const arr = [1, 2, 3, 4, 5]
const newArr = []
for (let i = 0; i < arr.length; i++) {
  if (arr[i] > 2) {
    newArr.push(arr[i])
  }
}
console.log(newArr) // 输出结果: [3, 4, 5]

5. 计算数组中元素的总和

在JavaScript中,可以借助reduce()方法,将数组中的各个元素累加,最终返回总和。该方法接受一个回调函数和一个计算时的初始值。

示例一

const arr = [1, 2, 3, 4, 5]
const sum = arr.reduce((prev, next) => prev + next, 0)
console.log(sum) // 输出结果: 15

示例二

const arr = [1, 2, 3, 4, 5]
let sum = 0
for (let i = 0; i < arr.length; i++) {
  sum += arr[i]
}
console.log(sum) // 输出结果: 15

通过这些数组操作精简技巧,你可以让你的 JavaScript 代码更加简洁、高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 数组精简技巧小结 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JS面向对象的程序设计相关知识小结

    下面是“JS面向对象的程序设计相关知识小结”的详细讲解。 1. Javascript面向对象基础 1.1 对象 在Javascript中,对象是由属性和方法组成的实例。属性可以是一个值、一个函数或一个对象。一个对象的属性也可以是另一个对象。方法是指对象可以执行的函数。 对象的创建可以使用字面量语法、构造函数或Object.create()方法。例如: // …

    JavaScript 2023年5月27日
    00
  • 防止文件缓存的js代码

    在网站开发中,我们很有可能会更新或者修改一些静态资源文件,比如javascript文件、CSS文件、图片等等,如果浏览器对这些文件进行了缓存,就会导致用户在访问网站时看到的是旧版本的文件,从而影响用户体验。为了解决这个问题,我们需要在网站中加入一些防止文件缓存的javascript代码。下面就是一些防止文件缓存的js代码示例及解释。 1. 在文件的URL后面…

    JavaScript 2023年5月27日
    00
  • JSONP 的原理、理解 与 实例分析

    JSONP 的原理、理解 与 实例分析 JSONP 的基本原理 JSONP(JSON with Padding)是一种跨域数据访问技术,在 A 网站的页面中向 B 网站请求数据时,由于浏览器的同源策略限制,不允许直接访问不同域下的数据。但是,通过在 A 网站中添加一个 script 标签,请求 B 网站中的数据,并采用特定的回调函数对数据进行处理。B 网站返…

    JavaScript 2023年5月27日
    00
  • two.js之实现动画效果示例

    Two.js 介绍 Two.js 是一个用于在网页上创建 2D 动画的轻量级绘图库。它基于 SVG 封装了 Canvas API,可在 Canvas 和 SVG 之间进行切换。Two.js 的通用性非常强,可以应用于多种类型的网页开发。它可以被应用于创意、动态交互和数据可视化等多种场景。本篇攻略将介绍如何实现使用 Two.js 开发动画效果的示例。 安装 T…

    JavaScript 2023年6月10日
    00
  • 快速解决js动态改变dom元素属性后页面及时渲染的问题

    要想实现JS动态改变DOM元素属性后页面及时渲染,我们需要使用JS操作DOM元素的API,以及合理控制DOM的渲染。 以下是实现此功能的完整攻略: 1. 获取DOM元素 首先,我们需要获取需要改变属性的DOM元素。可以通过各种方式获取,比如通过ID、class、元素标签名等。 代码示例 // 通过ID获取DOM元素 let el = document.get…

    JavaScript 2023年6月10日
    00
  • Native.js屏幕截图实例代码

    下面我来详细讲解“Native.js屏幕截图实例代码”的完整攻略。 前置知识 在讲解本文的主要内容之前,我们需要掌握两个知识点: Native.js Native.js 是一个将 JavaScript 源代码编译成本地机器码的编译器,这样可以将 JavaScript 的运行速度提高数倍。 HTML5 Canvas HTML5 Canvas API 提供了一种…

    JavaScript 2023年6月11日
    00
  • JavaScript返回当前会话cookie全部键值对照的方法

    要返回当前会话中cookie的全部键值对照,可以使用JavaScript的Document.cookie属性和一些字符串处理方法。下面是完整的攻略步骤: 步骤一:获取当前会话的全部cookie字符串 首先,使用Document.cookie属性获取当前页面的全部cookie字符串。该属性的返回值是一个字符串,它包含当前文档中所有cookie的键值对,使用分号…

    JavaScript 2023年6月11日
    00
  • JavaScript定时器实现无缝滚动图片

    下面我来介绍一下如何使用JavaScript定时器实现无缝滚动图片的完整攻略。 实现思路 首先,我们需要明确我们要实现的功能:无缝滚动图片。那么,如何做到无缝呢?想必大家都知道,无缝滚动就是前面的图片轮廓从右边消失,后面的图片轮廓从左边补上去,这样的效果看起来就像是图片一直在匀速滚动一样。 因此,我们可以考虑将一排图片放在一个盒子里,利用定时器来操纵图片的位…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部