javascript - 仅从 javascript 数组获取唯一键,其中键和值都是动态的

标签 javascript json object

这是我的目标 -

[{"index":"style_bags","name":"24"},
{"index":"style_bags","name":"25"},
{"index":"style_bags","name":"26"},
{"index":"category_gear","name":"90"},
{"index":"category_gear","name":"98"},
{"index":"price","name":"400-"}]

这是预期的 -

[{"index":"style_bags","name":"26"},
{"index":"category_gear","name":"98"},
{"index":"price","name":"400-"}]

要求是从 JavaScript 中的对象中获取最后一个值和 key 对。

根据一定性能的要求,我到达这里的方式是通过这段代码 -

if(href.indexOf("&") >= 0){
                    var hrefSplit = href.split('&');
                }
                if(!(href.indexOf("&") >= 0)){
                    var hrefSplit = href.split('?'); 
                    var hrefSplit2 = hrefSplit[1].split('=');                            
                }

                params.push({ index: hrefSplit2[0], name:  hrefSplit2[1]});

                var i = 0;

                jquery.each(params, function( index, value ) {

                    var key = value.index;

                    if(hrefSplit2[0] == key){
                        i++;                        
                    }  

                });

                valueGet.push({ index: hrefSplit2[0], name:  hrefSplit2[1]}); 

我不是 JavaScript 专业人士,所以对于如何进一步进行有点空白。

最佳答案

我将创建一个临时对象来存储最后找到的值,然后创建结果数组。

let tempObj = {}

let srcArray = [
{"index":"style_bags","name":"24"},
{"index":"style_bags","name":"25"},
{"index":"style_bags","name":"26"},
{"index":"category_gear","name":"90"},
{"index":"category_gear","name":"98"},
{"index":"price","name":"400-"}];

for (let item of srcArray) {
  tempObj[item.index] = item.name
}

let result = Object.keys(tempObj).map(index => {
  return {
    index,
    name: tempObj[index]
  }
});

console.log(result)

关于javascript - 仅从 javascript 数组获取唯一键,其中键和值都是动态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835438/

相关文章:

javascript - 正则表达式 |验证错误

javascript - jquery 或 javascript 中的图表

java - jackson 连载。强制将每个字段包装为对象

javascript - JavaScript 中的聚合记录

javascript - 如何根据内部 div 中的值隐藏 div

javascript - 创建触发第二个事件的事件

oop - 面向对象范式中松耦合和紧耦合有什么区别?

javascript - 在循环中创建一个深度(水平)对象

javascript - 为什么 eval() 不适用于 JSON.parse() 的输出?

IInAppBillingService.getSkuDetails 上的 Android 空指针异常的 Java