首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从数组中获取唯一的数据?

如何从数组中获取唯一的数据?
EN

Stack Overflow用户
提问于 2014-01-22 23:40:22
回答 1查看 73关注 0票数 0

我只想从Array/ JSON中获得唯一的记录。

我的目标是这样的:

代码语言:javascript
运行
复制
        [
{
"name":"SAP R3 Vertriebskenntnisse",
"ontocat":"SAP_R3_Vertrieb"
},
{
"name":"Kenntnisse SAP-ISU",
"ontocat":"KenntnisseSAPISU"
},
{
"name":"Microsoft Office",
"ontocat":"MicrosoftOffice"
},
{
"name":"SAP",
"ontocat":"SAP"
},
{
"name":"SAP R3 Vertriebskenntnisse",
"ontocat":"SAP_R3_Vertrieb"
},
{
"name":"SAP",
"ontocat":"SAP"
},
{
"name":"SAP",
"ontocat":"SAP"
},
{
"name":"Kenntnisse SAP-MM",
"ontocat":"KenntnisseSAPMM"
},
{
"name":"SAP",
"ontocat":"SAP"
},
{
"name":"SAP",
"ontocat":"SAP"
}
]

所以你怎么看有很多同名的条目。

我能做些什么才能只剩下一个唯一的条目?

由于更多的原因,请使用Sencha商店。上面的对象被添加到JSON中。也许有一种更容易的方法来隔离这些值。

谢谢你,如果你需要更多的细节,请询问。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 01:09:25

我编写了一个带有适合您的场景的removeDuplicates函数的快速Sencha Touch控制器,下面是代码:

代码语言:javascript
运行
复制
Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    init: function(application) {
        console.log('INIT MAIN');

        var json = '[{"name":"SAP R3 Vertriebskenntnisse","ontocat":"SAP_R3_Vertrieb"},{"name":"Kenntnisse SAP-ISU","ontocat":"KenntnisseSAPISU"},{"name":"Microsoft Office","ontocat":"MicrosoftOffice"},{"name":"SAP","ontocat":"SAP"},{"name":"SAP R3 Vertriebskenntnisse","ontocat":"SAP_R3_Vertrieb"},{"name":"SAP","ontocat":"SAP"},{"name":"SAP","ontocat":"SAP"},{"name":"Kenntnisse SAP-MM","ontocat":"KenntnisseSAPMM"},{"name":"SAP","ontocat":"SAP"},{"name":"SAP","ontocat":"SAP"}]',
            arr = Ext.JSON.decode(json),
            output;

        output = this.removeDuplicates(arr);

        console.log(output);
    },

    removeDuplicates: function(arr) {
        var nameList = [],
            output = [];

        for (var i = 0; i < arr.length; i++) {
            //check if the nameList array has an instance of the name
            if (nameList.indexOf(arr[i].name) === -1) {
                //push a reference of the name to the temporary nameList array
                nameList.push(arr[i].name);
                //push the object to the output array
                output.push(arr[i]);
            }
        };

        return output;
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21296455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档