请教:如何实现JS数据转换

{A:"NAME",B:"123",C:"456",D:“789”}
JS怎么转成{"NAME": [123,456]}

可以使用 JavaScript 的 for...in 循环来实现这个转换。首先,声明一个空对象,作为转换后的数据的容器。然后,对于输入对象中的每个属性,使用 for...in 循环遍历属性,将属性名作为新对象的键,属性值作为新对象的值,然后将新对象添加到容器中。

以下是实现这个转换的示例代码:

const input = {A:"NAME",B:"123",C:"456"};
const output = {};

for (const key in input) {
  // 如果当前属性是首次出现,则创建一个新数组
  if (!output[input[key]]) {
    output[input[key]] = [];
  }
  // 将当前属性的值添加到数组中
  output[input[key]].push(input[key]);
}

console.log(output);  // 输出 {"NAME": [123,456]}