请帮助将数组转换为JSON对象
xxResourcePolicy:
Type: "AWS::SecretsManager::ResourcePolicy"
Properties:
SecretId:
Ref: xxSecretsManager
ResourcePolicy:
Version: "2012-10-17"
Statement:
- Resource: "*"
Action:
- "secretsmanager:*"
Effect: Allow
Principal:
AWS: "*"
Condition:
StringEquals:
AWS:SourceOwner: !Ref "AWS::AccountId"
我尝试这样做并得到:
var array = [1, 2, 3, 4];
var arrayToString = JSON.stringify(Object.assign({}, array));
var stringToJsonObject = JSON.parse(arrayToString);
console.log(stringToJsonObject);
预期结果
{0: 1, 1: 2, 2: 3, 3: 4}
答案 0 :(得分:9)
您可以使用.reduce
进行此操作:
var array = [1, 2, 3, 4];
var res = array.reduce((acc,item,index) => {
acc[`place${index}`] = item;
return acc;
}, {});
console.log(res);
答案 1 :(得分:4)
var array = [1, 2, 3, 4];
const jsonObj = {}
array.forEach((v,i) => jsonObj['place'+i] = v);
console.log(jsonObj)
答案 2 :(得分:0)
您可以使用Object.entries()
来获取所有数组元素作为键和值的序列,然后使用map()
将键与place
连接,最后使用{{1} }将该数组转换为对象。
无需在中间使用JSON。
Object.fromEntries()
答案 3 :(得分:0)
用于循环并累积到对象中
var array = [1, 2, 3, 4];
const result = {}
for (let item of array) {
result['place' + item] = item;
}
console.log(result)