`
clrw
  • 浏览: 21383 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

JS利用json做去重

阅读更多

像JAVA一样利用容器来去重,尝试了一下,JS代码如下:

<script type="text/javascript">
// 先做一个数组
var str = "1@1@2@3@3@4@4@5@";
var ary = str.split("@");

// 去重的算法
var json = {};
for (var i = 0; i < ary.length; i++) {
    json["a"+ary[i]] = ary[i];
}

// 查看结果
var str2 = "";
for (var key in json) {
    str2 += json[key];
}
alert(str2);
</script>

 

可以改写成为数组去重,比较简单。

分享到:
评论
14 楼 luolonghao 2010-08-26  
这个是JavaScript的Object对象,不是JSON。JSON是和XML、YAML同一个层次的,是一种文本格式,只是它的格式参考了JavaScript语法而已。

--------
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

http://www.json.org/
13 楼 zjshan 2010-08-26  
思想挺好的。
12 楼 fallen_lord 2010-08-26  
...............这跟json有啥关系???
11 楼 rainsilence 2010-08-25  
思路很好啊。很多大牛都是这样过来的。
10 楼 aninfeel 2010-08-25  
这年头,连js对象都被称为json了
9 楼 Andrew1945 2010-08-25  
思路很不错,但是和json没关系,只是js对象的操作撒!
8 楼 mengzhaopeng 2010-08-25  
很好,学习了
7 楼 witcheryne 2010-08-25  
没看懂是什么意思?
"1@1@2@3@3@4@4@5@".replace('@', '');不就ok么?
6 楼 shbgreenery 2010-08-25  
好像 1 和 “1” 会被判断为一样的吧。
5 楼 niwei 2010-08-25  
思路挺好,不过这个与json关系不大吧,只要是数组都行。
4 楼 clue 2010-08-24  
JS里面对象可以直接当Hash表用,非常方便,不过只能支持字符串作键值

但需要注意for in循环时,使用hasOwnProperty过滤掉原型中的东西,避免有的JS代码侵入了原型,导致杯具发生…… (加前后缀不如这个直接)
3 楼 xiongzhijian51 2010-08-24  
嘿..效率问题
2 楼 luda 2010-08-24  
其实不应说是 json,就是js对象嘛
1 楼 fashionia 2010-08-23  
这个思路不错
合理的利用了json对象属性会被重写的工作原理
很不错

相关推荐

    JS实现的JSON数组去重算法示例

    在实际应用中,可以利用这些去重算法处理各种具有重复字段值的JSON数组。例如,在电商网站上,可能需要对用户的订单记录进行去重,并且按照某种标准进行累加。使用去重算法后,我们可以确保每个用户的订单记录只出现...

    javascript数组去重3种方法的性能测试与比较

    首先,我们来看第一种方法,这种方法是通过创建一个对象来存储数组元素作为键,利用JavaScript对象的特性,相同的键值不会被覆盖,从而达到去重的目的。这种方法简洁明了,但存在一个问题,即当数组中包含不同类型却...

    JS实现的对象去重功能示例

    本篇文章将深入探讨如何使用JavaScript实现对象去重功能,特别关注于结合实例来解析JavaScript对JSON对象的遍历、判断和运算操作。 首先,让我们分析给出的示例代码: ```javascript var obj = [ {year: '2013-...

    javascript数组去重小结_.docx

    接下来是**JSON去重/对象去重/字典去重**。这种方法利用了JavaScript对象(或JSON)的键值对特性,因为对象的键是唯一的。我们将数组元素作为键,对应的值可以是元素的索引或其他标识。遍历完原数组后,我们只需要...

    高性能js数组去重(12种方法,史上最全)

    10. **利用Set与JSON.stringify去重**: 先将数组转换为JSON字符串,然后去重,再解析回数组。 ```javascript function unique(arr) { let strArr = JSON.stringify(arr); return JSON.parse(strArr.replace(/...

    JavaScript数组去重的几种方法

    可以利用JSON.stringify()方法将对象转换为JSON字符串,然后基于字符串进行比较。这种方法虽然简单,但在处理大数据量时效率较低,并且还可能受到JSON.stringify()方法序列化深度限制的影响。 在实际应用中,我们应...

    js代码-数组去重(Object)

    JavaScript的Array对象虽然提供了多种方法,如filter、indexOf等,但在处理某些特定场景时,利用Object的键唯一性进行数组去重能提供一种高效且简洁的解决方案。 首先,我们需要理解JavaScript中的Object。Object是...

    开启大前端的大门基于对象去重.zip

    基于对象的去重策略,是利用JavaScript对象的键值对特性来实现的,它能够对对象进行深度比较,更适用于处理包含复杂结构的数组。 描述中提到的“数组塌陷问题”是指在某些去重方法中,当删除重复元素时,可能会导致...

    跟益达学Solr5之批量索引JSON数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Solr中,JSON作为一种常见数据格式,被广泛用于数据导入和检索。 三、Solr的JSON数据导入 1. ...

    js代码-工作中用到的复杂数组去重

    对于简单的数据类型(如字符串、数字、布尔值),数组去重可以直接利用JavaScript的Set对象,它不包含重复元素。例如: ```javascript let array = [1, 2, 2, 3, 4, 4]; let uniqueArray = [...new Set(array)]; ``...

    JS实现对json对象排序并删除id相同项功能示例

    在本示例中,我们将探讨如何使用JavaScript...综上所述,通过阅读本示例,我们可以掌握在JavaScript中处理JSON对象数组的排序和去重操作,并且可以利用网络上提供的多种工具和专题资源来提高我们的开发效率和代码质量。

    javascript数组去重小结

    对象去重和字典去重在实际应用中与JSON去重方法类似,也是将数组元素作为对象的键,但这里直接使用对象字面量来构建对象,而没有将对象转换为JSON字符串。这样做的好处是更直接,也避免了将对象转换为字符串可能带来...

    js代码-数组 对象去重 (对象的所有属性相同才能认为相同)

    在JavaScript编程中,数组去重是一项常见的操作,尤其在处理包含重复对象的数组时更为重要。当对象的所有属性都相同,我们才认为两个对象是相同的。这篇内容将深入探讨如何在JavaScript中实现这样的对象去重。 首先...

    JS数组扁平化、去重、排序操作实例详解

    2. 利用正则表达式:通过`JSON.stringify()`和`JSON.parse()`结合正则替换,可以去除嵌套的方括号,但同样不处理空数组。 3. 使用`reduce()`:`reduce()`方法接受一个回调函数,可以通过递归的方式处理嵌套数组,将...

    js代码-对象数组去重

    如果你的项目已经引入了Lodash库,可以利用`_.uniqBy`函数,它允许你指定一个属性来决定去重的依据: ```javascript import _ from 'lodash'; let arr = [{id: 1, name: 'A'}, {id: 2, name: 'B'}, {id: 1, name: ...

    javascript数组去重方法终极总结

    本文重点讨论了JavaScript中数组去重的三种方法,并分析了每种方法的优缺点。数组去重是前端开发中常见的需求,尤其在处理用户输入、处理API数据等场景下,如何去除数组中重复的元素是一个经常遇到的问题。以下为三...

    js代码-数据结构去重

    本主题将深入探讨JavaScript中实现数据结构去重的不同方法,包括基本数组去重、对象属性去重以及更复杂的数据结构去重策略。 首先,我们来看一下最基础的数组去重。在JavaScript中,有多种方式可以去除数组中的重复...

Global site tag (gtag.js) - Google Analytics