广告
返回顶部
首页 > 资讯 > 前端开发 > html >js中数组的用法示例
  • 400
分享到

js中数组的用法示例

2024-04-02 19:04:59 400人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关js中数组的用法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数组1 reduce方法同时实现map和filter假设现在有一个数列,你希望更新它的

这篇文章给大家分享的是有关js数组的用法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数组

1 reduce方法同时实现map和filter

假设现在有一个数列,你希望更新它的每一项(map的功能)然后筛选出一部分(filter的功能)。如果是先使用map然后filter的话,你需要遍历这个数组两次。
在下面的代码中,我们将数列中的值翻倍,然后挑选出那些大于50的数。

const numbers = [10, 20, 30, 40];
const doubledOver50 = numbers.reduce((finalList, num) => {
 num = num * 2;
 if (num > 50) {
 finalList.push(num);
 }
 return finalList;
}, []);
doubledOver50; // [60, 80]

2 统计数组中相同项的个数

很多时候,你希望统计数组中重复出现项的个数然后用一个对象表示。那么你可以使用reduce方法处理这个数组。

下面的代码将统计每一种车的数目然后把总数用一个对象表示。

var cars = ['BMW','Benz', 'Benz', 'Tesla', 'BMW', 'Toyota'];
var carsObj = cars.reduce(function (obj, name) {
 obj[name] = obj[name] ? ++obj[name] : 1;
 return obj;
}, {});
carsObj; // => { BMW: 2, Benz: 2, Tesla: 1, Toyota: 1 }

3 使用解构来交换参数数值

有时候你会将函数返回的多个值放在一个数组里。我们可以使用数组解构来获取其中每一个值。

let param1 = 1;
let param2 = 2;
[param1, param2] = [param2, param1];
console.log(param1) // 2
console.log(param2) // 1

当然我们关于交换数值有不少其他办法:

var temp = a; a = b; b = temp 
b = [a, a = b][0]  
a = a + b; b = a - b; a = a - b

4 接收函数返回的多个结果

在下面的代码中,我们从/post中获取一个帖子,然后在/comments中获取相关评论。由于我们使用的是async/await,函数把返回值放在一个数组中。而我们使用数组解构后就可以把返回值直接赋给相应的变量。

async function getFullPost(){
 return await Promise.all([
 fetch('/post'),
 fetch('/comments')
 ]);
}
const [post, comments] = getFullPost();

5 将数组平铺到指定深度

使用递归,为每个深度级别 depth 递减 1 。 使用 Array.reduce() 和 Array.concat() 来合并元素或数组。 基本情况下,depth 等于 1 停止递归。 省略第二个参数,depth 只能平铺到 1 (单层平铺) 的深度。

const flatten = (arr, depth = 1) =>
 depth != 1
 ? arr.reduce((a, v) => a.concat(Array.isArray(v) ? flatten(v, depth - 1) : v), [])
 : arr.reduce((a, v) => a.concat(v), []);
flatten([1, [2], 3, 4]);  		 // [1, 2, 3, 4]
flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]

6 数组的对象解构

数组也可以对象解构,可以方便的获取数组的第n个值

const csvFileLine = '1997,John Doe,US,john@doe.com,New York';
const { 2: country, 4: state } = csvFileLine.split(',');

country			// US
state			// New Yourk

感谢各位的阅读!关于“js中数组的用法示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: js中数组的用法示例

本文链接: https://www.lsjlt.com/news/95125.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js中数组的用法示例
    这篇文章给大家分享的是有关js中数组的用法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数组1 reduce方法同时实现map和filter假设现在有一个数列,你希望更新它的...
    99+
    2022-10-19
  • js中数组的示例分析
    小编给大家分享一下js中数组的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!创建一个数组:// 字面量方式: ...
    99+
    2022-10-19
  • JS数组中filter方法的使用实例
    目录1、定义2、语法3、参数说明4、用法5、注意事项6、使用实例附:多条件单数据筛选总结1、定义   filter()创建一个新的数组,新数组中的元素是通过检查指...
    99+
    2022-11-13
  • JS库中Three.js的用法示例
    这篇文章给大家分享的是有关JS库中Three.js的用法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备工作在写代码之前,你首先要去下最新的three.js框架包,在你的页...
    99+
    2022-10-19
  • js中闭包的用法示例
    小编给大家分享一下js中闭包的用法示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!闭包,其实是一种语言特性,它是指的是程序设计...
    99+
    2022-10-19
  • js实现数组转树示例
    目录原生 封装工具函数 getTree结构图:原生 封装工具函数 getTree 1.1 定义 -映射对象 map 数组 treeList=[] 1.2 遍历后端返回的数组 list...
    99+
    2022-11-13
  • Node.js中用D3.js的方法示例
    前言 D3.js 是一个基于数据操作文档JavaScript库。D3帮助你给数据带来活力通过使用HTML、SVG和CSS。D3重视Web标准为你提供现代浏览器的全部功能,而不是给你一个专有的框架。结合强大的...
    99+
    2022-06-04
    示例 中用 方法
  • JS将伪数组转换成数组的实现示例
    目录什么是伪数组?转换ES5 的做法方法1方法2ES6的做法第三个参数的用法(不常用)Array.from 其他玩法把字符串转换成数组在 JS 中,伪数组 是非常常见的,它也叫 类数...
    99+
    2022-11-13
  • js数组forEach实例用法详解
    1、forEach()类似于map(),它还将每个元素依次作用于传入函数,但不会返回新的数组。 2、forEach()常用于遍历数组,用于调用数组的每一个元素,并将其传递给回调函数。...
    99+
    2022-11-12
  • JS中数组reduce()的用法
    本篇内容介绍了“JS中数组reduce()的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 前端进阶JS数组高级用法大全教程示例
    目录1.批量制造数据2.数组合并去重3.创建数组的几种方式4.类数组常见的类数组判断是否是类数组类数组如何转换为数组如何让类数组使用上数组丰富的内建方法类数组和数组的区别5.数组方法...
    99+
    2022-11-13
  • JS对象数组去重的3种方法示例及对比
    目录一.去重前后数据对比二.使用方法1.使用filter和Map2.使用reduce3.使用for循环三.2400条数据,三种方法处理时间对比总结一.去重前后数据对比 // 原数...
    99+
    2022-11-12
  • js中数字的示例分析
    这篇文章将为大家详细讲解有关js中数字的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数字1 不同进制表示法ES6中新增了不同进制的书写格式,在后台传参的时候要注...
    99+
    2022-10-19
  • JS一维数组转化为三维数组的实现示例
    今天在CSDN上问答区看到一个提问的小伙伴,是想要将一维数组转化为三位数组的需求,正好不是很忙,乐于助人的我立马给这位同学安排上,当然也没有顾及那么多去看资料什么的,就直接按照自己的...
    99+
    2022-11-12
  • js中排序与重组的示例分析
    小编给大家分享一下js中排序与重组的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!示例:function in...
    99+
    2022-10-19
  • js中FCC算法的示例分析
    这篇文章主要介绍js中FCC算法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数....
    99+
    2022-10-19
  • JS中switch的四种写法示例
    目录引言switch一般写法switch简单写法IIFE 封装封成策略引言 JavaScript 的 switch 有四样写法,你知道么?不管你知道不知道,反正我是不知道。 我所知道...
    99+
    2022-11-13
  • JS数组在内存中效率问题的示例分析
    这篇文章给大家分享的是有关JS数组在内存中效率问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JS数组我们所熟知的JS数组的结构和其他语言数组结构类似,即物理内存是连续的,所以这也就导致了数组成员移动...
    99+
    2023-06-29
  • JS组件封装的示例分析
    这篇文章主要介绍了JS组件封装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、扩展已经存在的组件1、需求背景很多时候,我们使用j...
    99+
    2022-10-19
  • JS数组Array常用方法汇总+实例
    一、JavaScript中创建数组的方式 (1)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = ne...
    99+
    2022-11-13
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作