如何从Nodejs中的列表中动态获取密钥名称



如何使用NodeJS从列表中动态获取密钥名称并将其推送到数组中。

这是我的字符串{ PRICE: '12', TYPE: 'Electronics' }

我想将密钥名称PRICETYPE推送到array,如下所示:

const myArray = ["PRICE", "MyOrg::PRICE", "TYPE", "MyOrg::TYPE"]

我不知道如何从列表中动态获取密钥名称并将其推送到数组中——有人能帮我吗。谢谢

示例代码:

const test = async () => {
const myList =  { TYPE: '12', REGION: 'Electronics' }
// Execpted array like below
const myArray = ["PRICE", "MyOrg::PRICE", "TYPE", "MyOrg::TYPE"]

};

test();

您可以简单地使用Object.keys执行Array.concat

const myList = { TYPE: '12', REGION: 'Electronics' };
let myArray = ['PRICE', 'MyOrg::PRICE'];
myArray = myArray.concat(Object.keys(myList));
console.log(myArray);

您只需要在代码中进行变量替换,这可以通过用大括号将变量括起来(如${variable})来实现。

const myList =  { TYPE: '12', REGION: 'Electronics' }
array = Object.keys(myList)
myArray = []
for (let element of array){
myArray.push(element, `MyOrg::${element}`)
}
console.log(myArray)

这个问题真的没有意义。下面的代码生成您所要求的输出,但似乎没有什么用处。

const myList = { "PRICE": 12, "TYPE": "Electronic" };
const myArray = [];
Object.keys(myList).forEach( function (key) {
// Loop through all the keys
myArray.push(key)
myArray.push("MyOrg::"+key)
})
console.log(myArray)
// Expected output
// myArray == ["PRICE", "MyOrg::PRICE", "TYPE", "MyOrg::TYPE"]

您可以将reduceconcat一起使用

const myList =  { TYPE: '12', REGION: 'Electronics' }

const  results = Object.keys(myList).reduce(
(a, b) => a.concat([b, "My0rg::" + b]), []);
console.log(results)

最新更新