这是我的目标 -
[{"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/