,可以通过以下步骤实现:
以下是一个示例实现的JavaScript代码:
function convertArray(array) {
var objArray = [];
var valueArray = [];
for (var i = 0; i < array.length; i++) {
var key = array[i].key;
var value = array[i].value;
if (objArray.some(obj => obj.key === key)) {
// 如果已存在该键,将值添加到值数组属性中
var index = objArray.findIndex(obj => obj.key === key);
objArray[index].values.push(value);
} else {
// 如果不存在该键,创建新的对象
var newObj = {
key: key,
values: [value]
};
objArray.push(newObj);
}
// 将值添加到值数组中
valueArray.push(value);
}
return {
objArray: objArray,
valueArray: valueArray
};
}
// 示例用法
var array = [
{ key: 'A', value: 1 },
{ key: 'B', value: 2 },
{ key: 'A', value: 3 },
{ key: 'C', value: 4 }
];
var result = convertArray(array);
console.log(result.objArray);
console.log(result.valueArray);
这段代码将会输出以下结果:
[
{ key: 'A', values: [1, 3] },
{ key: 'B', values: [2] },
{ key: 'C', values: [4] }
]
[1, 2, 3, 4]
在这个示例中,键值数组中有两个具有重复键的键值对('A'),通过转换,我们得到了一个具有唯一键的对象数组和一个值数组属性。
领取专属 10元无门槛券
手把手带您无忧上云