如何使用NodeJS从列表中动态获取密钥名称并将其推送到数组中。
这是我的字符串{ PRICE: '12', TYPE: 'Electronics' }
我想将密钥名称PRICE
、TYPE
推送到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"]
您可以将reduce
与concat
一起使用
const myList = { TYPE: '12', REGION: 'Electronics' }
const results = Object.keys(myList).reduce(
(a, b) => a.concat([b, "My0rg::" + b]), []);
console.log(results)