【问题标题】:working with repeated values in json array in node.js在 node.js 中处理 json 数组中的重复值
【发布时间】:2014-01-23 17:48:50
【问题描述】:

以下是我的 Json 数据

myArray = [{  
    id: '71',
    mode: 'daily',
    os: 'VM-WIN7-64'},   
  {    
    id: '45',
    mode: 'daily',
    os: 'VM-WIN7-32'},
  { 
    id: '37',
    mode: 'daily',
    os: 'VM-WIN7-64',
    },
  { 
    id: '67',
    mode: 'daily',
    os: 'VM-WIN7-32-1',
    }  ];

以下代码用于根据传递的操作系统启动一个Vmware,并传递一个job id(唯一)。

它对我来说工作正常。 我的问题是在myArray 中包含重复的os(这里从相同的os 开始重复但id 不同-不需要开始重复os)同时我必须通过id 与下面的相关代码。怎么可能?

myArray.forEach(function (job) {
    exec('/bin/Jobs.exe', ['MODE=Start', 'ID=' + job.os, 'JOBID=' + job.id], function (err, data) {
                            console.log(err);                   
                            console.log(data);
        });
}

【问题讨论】:

  • 您的意思是需要过滤掉重复项吗?
  • 您想要特定操作系统的所有 id 吗?

标签: jquery json node.js


【解决方案1】:

只需使用过滤器并跟踪临时数组中的重复项。

var unique = [];

myArray = myArray.filter(function(elem) {
  if(unique.indexOf(elem.os) < 0 ) {
    unique.push(elem.os)
    return true;
  }
  return false;
})

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 2018-04-23
    • 1970-01-01
    • 2017-04-29
    • 2012-08-05
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多