当前位置: 首页 > news >正文

低价网站建设浩森宇特个人网页设计实训报告

低价网站建设浩森宇特,个人网页设计实训报告,国家建设标准发布网站在哪里,制作会员手机网站我们知道Set是JS的一个种新的数据结构,和数组类似,和数组不同的是它可以去重,比如存入两个1或两个"123",只有1条数据会存入成功,但有个特殊情况,如果添加到set的值是引用类型,比如数组…

我们知道Set是JS的一个种新的数据结构,和数组类似,和数组不同的是它可以去重,比如存入两个1或两个"123",只有1条数据会存入成功,但有个特殊情况,如果添加到set的值是引用类型,比如数组、对象,他将无法自动去重。因为值相同的两个引用类型地址是不一样的。下面来看一个例子:

var mySet = new Set()
mySet.add([-1,0,1])
mySet.add([-1,0,1])
mySet.add({a: 1})
mySet.add({a: 1})
mySet.size // 4
console.log(Array.from(mySet)) // [[-1, 0, 1], [-1, 0, 1], {a: 1}, {a: 1}]

我们来看看mdn上的文档描述:

Set - JavaScript | MDNThe Set object lets you store unique values of any type, whether primitive values or object references.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

Description

Set objects are collections of values. You can iterate through the elements of a set in insertion order. A value in the Set may only occur once; it is unique in the Set's collection.

集合对象是值的集合。您可以按插入顺序遍历集合的元素。集合中的值只能出现一次;它在集合集合中是唯一的。

Value equality

Because each value in the Set has to be unique, the value equality will be checked. In an earlier version of ECMAScript specification, this was not based on the same algorithm as the one used in the === operator. Specifically, for Sets, +0 (which is strictly equal to -0) and -0 were different values. However, this was changed in the ECMAScript 2015 specification. See "Key equality for -0 and 0" in the browser compatibility table for details. NaN and undefined can also be stored in a Set. All NaN values are equated (i.e. NaN is considered the same as NaN, even though NaN !== NaN).

由于集合中的每个值都必须是唯一的,因此将检查值是否相等。在早期版本的ECMAScript规范中,这与==运算符中使用的算法不同。具体来说,对于集,+0(严格等于-0)和-0是不同的值。然而,这在ECMAScript 2015规范中有所更改。有关详细信息,请参阅浏览器兼容性表中的“-0和0的密钥相等”。NaN和undefined也可以存储在Set中。所有NaN值都相等(即,NaN被认为与NaN相同,即使NaN!==NaN)。

我们可以简单理解为,像Set实例add数据时,每次都会进行等值判断,类似于将add的元素与每个元素进行 === 比较。因此对引用类型的去重是无效的

var stra = "test"
var strb = "test"
var a = { a : 1}
var b = { a : 1}
stra === strb // true
a === b // false 尽管他们都是对象 { a: 1 },但他们存储的地址是不一样的 

那这种情况怎么去重呢。我们可以自己写方法来处理,以数组为例子,可以将值[-1, 0, 1].join('|') 处理下,添加进去,到时统一再split出来

 

http://www.yayakq.cn/news/340338/

相关文章:

  • 做淘宝客网站详细步骤施工企业质量管理应遵循的原则
  • 网站仿制教程吸引客流的25个技巧
  • 西丽网站设计建立网站的申请
  • 网站备案 接入商域名注册哪个网站便宜
  • 手机怎么做3d短视频网站建设校园门户网站方案
  • app网站如何做推广旅游app界面设计
  • 网站建设保障方案87网站一起做
  • 开发网站多少钱一个月泰安网红打卡景点
  • 创建网站需要什么平台小工具文本wordpress
  • 企业网站建团队拓展方案
  • 做淘客的网站有哪些深圳网站建设怎样
  • 安徽网站开发费用建设银行网站怎么登陆不了
  • 黄陂网站建设wordpress 调用时间
  • 工商注册登记系统山东自助seo建站
  • 做商城网站系统网页与网站设计什么是主题
  • seo网站优化专家google网站入口
  • 苏州h5模板建站网页制作作业
  • 甘肃做网站的网络公司专业简历制作软件
  • 工业设计东莞网站建设网站建设管理的规章制度
  • 网站如何做电脑和手机软件wordpress主题域名授权破解
  • icp备案查看网站内容吗网站提示风险
  • 商务贸易网站建设wordpress 主题设置中文版
  • 哪家网站建设服务好做电容的网站
  • 手机交互网站手机网站开发 .net
  • 怎样自学网站开发录入客户信息的软件
  • c网站建设免费书画网站怎么做的
  • 重庆市公共资源交易中心网站什么叫网站维护
  • 网站建设全屏十堰网站推广哪家专业
  • 怎样做网站漂浮长沙网上商城网站建设方案
  • 建设一个小说网站wordpress英文文章格式