Es6数组新增方法与字符串新增方法和新增数据类型

2023-11-08

1. 数组新增方法

  • map方法:将数组中每一个元素依次取出,进行遍历,返回一个新的数组
let movies=[
	{id:1,name:"大话西游",author:"xxxx",imgUrl:"http://xxx.douban.com/1.jpg"},
	{id:2,name:"逃学威龙",author:"xxxx",imgUrl:"http://xxx.douban.com/2.jpg"},
	{id:3,name:"喜剧之王",author:"xxxx",imgUrl:"http://xxx.douban.com/3.jpg"}
]

movies = movies.map(item => {
    item.imgUrl = item.imgUrl.replace("xxx","www")
    return item;
})

console.log(movies);
  • filter方法:筛选数组中的内容,找出其中符合条件的元素,返回一个新数组
let scores = [49,79,44,99,50];
let arr = scores.filter(item => item >= 60);
console.log(arr); // [ 79, 99 ]

缺点:filter只能用于数据量较小的内容筛选,不适合用在数据库这种大型的数据搜索。

  • some方法: 只要有一个符合要求,整体都为真
let scores = [85,55,98,75,56,101];
let result = scores.some(item => item >= 100);
console.log(result); // true
  • every: 全体为真才为真
let scores = [85,55,98,75,56,101];
let result = scores.every(item => item >= 50);
console.log(result); // true
  • reduce:将数组中的元素进行整合,返回一个新的内容
  1. prev: 上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev
  2. item: 当前数组元素
  3. index: 数组元素的索引值
  4. array: 当前操作的数组
//reduce实现数组中的去重,返回一个新的没有重复的数组

let arr = ["百度","腾讯","阿里","京东","百度","腾讯","京东"];
let result = arr.reduce((prev,item) => {
    if(!prev.includes(item)){
        prev.push(item)
    }
    return prev;
},[])
console.log(result); // [ "百度", "腾讯", "阿里", "京东" ]

2. 字符串新增方法

  • startsWith() 判断字符串以什么开头,返回布尔值
let str = "hello world";
let result = str.startsWith("hello");
console.log(result); // true
  • 判断字符串以什么结尾 endsWith()
let str = "hello world";
let r2 = str.endsWith("世界");
console.log(r2); // false
  • trim() 去除字符串前后的空格符
let str=" hello world ";
console.log(str.trim() === "hello world"); // true

3. Es6新增数据类型

  • set类型: 类数组,不重复的数组
let s1 = new Set([1,2,3,4,5,5,5]);        
// set 类数组的长度用size
console.log(s1.size); // 5

利用set来实现数组的去重
如何让set类型转化为数组 类数组转化为数组
Array.from() 类型的转化

let arr = [1,2,3,4,5,5,5];
let s1 = new Set(arr);
arr = Array.from(s1)
console.log(arr); // [ 1, 2, 3, 4, 5 ]
  • map类型:可以将任意的元素,作为key
<button id="bt1">点击</button>

<script>
	var bt1 = document.getElementById("bt1");
	let m = new Map();
	//增加属性 set()
	m.set(bt1,"按钮")
	//访问 get()
	console.log(m.get(bt1)); // 按钮
</script>
  • symbol 创建一个独一无二得值,防止出现属性的覆盖问题,内部调用的方法 利用symbol进行单独的封装,防止出现覆盖
let name = Symbol("姓名");
let r = Symbol("姓名");
console.log(r); // Symbol("姓名")
console.log(name === r); // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Es6数组新增方法与字符串新增方法和新增数据类型 的相关文章

  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 是否可以在 React Native 中隐藏“BugReporting extraData”? (使用世博会)

    每次我使用 Expo 打开 React Native 应用程序时 我都会在控制台中收到大量消息 其中包含有关该应用程序的元数据 这实际上对我的调试没有多大帮助 特别是因为它每次都是相同的信息 并且每次应用程序重新加载时都会显示 即使是热重新
  • React - 如何在不使用构造函数的情况下访问道具

    注意 我在使用 React Native 时遇到了这个特定问题 但我想这也适用于 React 我有一个使用 React Component 构建的反应组件 我不需要设置状态 但我确实有道具 我建议的语法如下 class Header ext
  • 类型 {} 上不存在 Typescript 属性

    我有以下代码打字稿 为什么编译器会抛出错误 var object Object defineProperty object first value 37 writable false enumerable true configurable
  • 如何获取没有背景的元素颜色?

    如何有效地获取没有背景但其父级之一有背景的元素的颜色 例如 这是 3 级深度设置 TOP1 为红色 TOP2 为绿色 TOP3 没有定义背景颜色 但它是绿色的 我编写一个函数来通过父母进行 iretate 并查找 backgroundCol
  • NodeJS:调用 global.gc() 不会将内存减少到最低限度?

    为了调查内存泄漏 我设置了一条触发的路线global gc 在每个POST gc app post gc function req res global gc 但是 我注意到 如果我发送垃圾邮件此请求 每次都会越来越多地减少内存使用量 不应
  • 如何在 VSCode 调试器中执行异步函数? [复制]

    这个问题在这里已经有答案了 如果我在一些 javascript 代码中放入 VSCode 调试器并使用 wait 调用异步函数 它只会返回一个承诺 如何解决调试器中的承诺 以便我可以看到结果是什么 例如 如果我定义一个像这样的函数 cons
  • 在javascript中访问隐藏字段值

    我的表单中有一个隐藏字段 我正在服务器上设置隐藏字段的值并尝试从 javascript 访问该值 我收到错误 无法获取属性 值 的值 对象为 null 或未定义 如果我查看源代码 则会设置隐藏字段值 并且隐藏字段的 ID 与我正在调用的 I
  • 找到对应的未经V8优化的JS代码源

    我尝试优化 node js 应用程序的性能 因此我正在分析 V8 的 JIT 编译器的行为 当通过运行应用程序时node trace deopt trace opt code comments print optcode 输出包含许多重复出
  • 为什么 JavaScript ES6 不支持多构造函数类?

    我想编写我的 Javascript 类 如下所示 class Option constructor this autoLoad false constructor key value this key value constructor k
  • 生成两个日期内的随机日期数组的优雅方法

    我有一个日期选择器 其中显示两个月 我想在每个可见月份中随机选择 3 个日期 date datepicker minDate new Date dateFormat DD MM d yy constrainInput true before
  • 当数据 uri 太大时“噢,啪”

    我正在编写一个 chrome 扩展 它执行以下操作 使用以下命令将文件从网站下载到内存XMLHttpRequest 将附加数据添加到文件中 然后将结果进行 Base64 编码到变量中total encoded data 使用以下方式向用户提
  • 通过字符串键/路径生成嵌套对象结构

    我想做一个名为createAssociativeArray它将接收两个参数 string and object 像这样 function createAssociativeArray string object 最后一项string应该得到
  • 浸入草稿,计算属性

    我不确定为什么我会得到Error Immer drafts cannot have computed properties在我的减速器代码中 我在用着redux starter kit它用 Immer 库包装了我的所有减速器代码 我不太确定
  • 在node控制台中使用require和在html中使用script标签有什么区别

    我是js世界的新手 这真的让我很困惑 昨天我开始在我的代码中配合underscore js 所以我开始在REPL环境中尝试它 我选择使用Node控制台 我想出了var require underscore js 然后一切正常 今天我尝试使用
  • 更改元素的顺序

    我正在创建一个浮动宽度的网站 用户在智能手机上使用从全高清分辨率到约 600 像素的屏幕 这似乎是一个不错的主意 这就带来了一个非常有趣的问题 当用户使用比最佳分辨率更小的分辨率时 页面的高度会增加很多 这意味着更改某些元素 例如某些图像
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • 颜色逻辑算法

    我们正在构建一个体育应用程序 并希望将团队颜色融入到应用程序的各个部分 现在 每个团队都可以使用几种不同的颜色来表示 我想做的是执行检查以验证两个团队颜色是否在彼此一定的范围内 这样我就不会显示两个相似的颜色 因此 如果团队 1 的主要团队

随机推荐

  • 怎样将jpg、png制作成windows桌面ico图标文件

    之前在前端设计实现了一个生成ico图标的功能 然而后来经过用户的反馈才发现 之前生成的ico图标的编码格式 其实只能在网站等地方使用 如果在windows桌面上使用 就会提示找不到ico图标文件 错误提示如下所示 这个错误确实是百思不得其解
  • 8086CPU外部引脚图

    8086CPU外部引脚图 在最小模式中引脚定义 AD15 AD0 Address Data Bus 16位地址 数据总线 分时复用 传输地址时三态输出 传输数据时三态双向输入 输出 在总线周期T1状态 CPU在这些引脚上输出存储器或I O端
  • 108-109-----JS基础-----获取元素的样式与getStyle方法(兼容不同浏览器修改样式的接口)

    一 代码 上一节操作内联样式时 只对内联的有效 如果不是内联的话 获取到的属性是一个空值 所以需要获取元素的样式接口去获取样式属性 而由于不同浏览器对获取元素的样式的支持不一样 所以需要getStyle方法去兼容不同的浏览器 注 通过sty
  • 保证文件名唯一(java)

    问题描述 给你一个长度为 n 的字符串数组 names 你将会在文件系统中创建 n 个文件夹 在第 i 分钟 新建名为 names i 的文件夹 由于两个文件 不能 共享相同的文件名 因此如果新建文件夹使用的文件名已经被占用 系统会以 k
  • Centos/Linux在线环境下载安装包,到离线环境安装,并解决依赖问题

    在线环境下载rpm包 我们以yum utils包为例 在线环境使用下面的代码安装 sudo yum install y yum utils 离线环境需要的是安装包 因此下载yum utils的安装包的代码 mkdir ypm packet
  • 开关电源环路稳定性分析(01)-Buck变换器

    大家好 这里是大话硬件 说到开关电源不得不提的就是开关的环路稳定性 但是这一块目前用的DC DC芯片 很多厂家在芯片内部都已经做好了 所以对于使用的人来说 即使不太关注环路的稳定 按照手册中推荐的值设计产品也能正常使用 当然 仅仅是按照手册
  • 可充电点电池和不可充电电池区分?

    看到网上很多人都在问 碳性电池能充电吗 回答很明确 不可以 我们生活中使用的5号电池和7号电池分为可充电和不可充电两种 不可充电的5号电池和7号电池有碳性电池和碱性电池 碳性电池是一次电池 即干电池 是不能充电的 碳性电池价格比碱性电池便宜
  • Unity导入package简单操作流程

    Unity导入package简单操作流程 前言 在Unity 实际开发工作中 需要将一些现成的程序包或者插件导入到自己的工厂里 方便自己使用其中的一些现成的功能 方便自己开发 节约工作时间 这篇博客简单介绍下Unity导入package简单
  • C++ 判断磁盘是否为可移动磁盘

    传入参数path F bool isUsbDrv const wchar t path include
  • 数据库恢复技术

    数据库恢复技术和并发控制技术 事务 故障 1 事物内部的故障 2 系统故障 3 介质故障 4 计算机病毒 恢复的实现技术 1 数据存储 2 登录日志文件 各故障对应的恢复策略 1 事物故障的恢复 2 系统故障的恢复 3 介质故障的恢复 检查
  • 【华为机试刷题笔记】HJ14-字符串排序

    题目描述 给定 n 个字符串 请对 n 个字符串按照字典序排列 数据范围 1 n 1000 1 leq n leq 1000 1 n 1000 字符串长度满足
  • uniapp map 请求接口之后数据不渲染问题

    uniapp map 请求接口之后数据不渲染问题 我先说我遇到的问题 我使用uniapp 的 map 组件 组件所有绑定数据都有一个初始化 之后在 mounted 中请求服务器数据 不过在 map 组件里面没有渲染请求到的数据 使用 set
  • 千兆网线做法和网线接法注意事项

    据市场调查 目前千兆网线已经很 普遍了 但很多朋友对千兆网线水晶头接法还不是很了解 在制作网线的过程中会遇到各式各样的问题 有时会造成无法打开网页 在动手之前 我们要对于网线的制作有一个正确的认识 从而制作出我们需要的网线 网线由一定距离长
  • 区块链系列-----加密算法汇总

    背景 区块链背景下 对密码学技术要求需要有很深的研究 笔者以java语言为例 搜罗各种加密算法的相关使用 github地址 https github com niyuelin1990 mycrypto 简介 搜罗各种加密算法 电子邮件传输算
  • docker使用指南

    1 安装docker 使用如下命令可以安装docker 安装成功后docker version可以查看到docker的client和server信息 sudo apt install docker docker io y 为普通用户添加权限
  • mysql json类型最大长度限制_MySQL json 数据类型

    必须要5 7以上版本才能使用 写在开头 mysql json 的功能很强大 只是用来当一个储存数据的字段 就没什么意义了 使用proto做交互的话 只要JSON 写得好 用proro Unmarshal 就可以很方便的转换类型 可以精简很多
  • github 项目的基本结构以及git的使用方法

    github 项目的基本结构以及git的使用方法 介绍 根据README md 一般都在下面 阅读规则 每个团队根据队伍内部技术人员配置选择课题 课题在docs 目录下 对于docs 下非本组选择的课题文件不要进行任意修改 docs 下课题
  • 转onnx包问题

    pip install onnx 1 7 0 i https pypi tuna tsinghua edu cn simple 其实这一步已经可以了 pip install coremltools YOLOv5的pytorch模型文件转换为
  • redis的事务和watch机制

    这里写目录标题 第一章 redis事务和watch机制 1 1 redis事务 事务的三大命令 语法 开启事务 multi 语法 执行事务 exec 语法 取消事务 discard 1 2 redis事务的错误和回滚的情况 1 3 watc
  • Es6数组新增方法与字符串新增方法和新增数据类型

    1 数组新增方法 map方法 将数组中每一个元素依次取出 进行遍历 返回一个新的数组 let movies id 1 name 大话西游 author xxxx imgUrl http xxx douban com 1 jpg id 2 n