我想知道如何使用键和值将数组转换为实际的JSON对象。我正在创建一个Node.js命令行标志解析器,我想对此进行转换:
[ '--input', 'HI!' ]
对此:
{ "--input": "HI!" }
以为例。 JSON.stringify无法解决此问题,因为JSON.stringify可以为我提供此功能:
["--input","HI!"]
这不是我想要的。如果有办法使用JSON.stringify解决此问题,我仍会开放,但据我所知,仅使用JSON.stringify不会解决此问题。
答案 0 :(得分:3)
似乎一个简单的<Fragment></Fragment>
循环在这里可以快速轻松地阅读:
<></>
您也可以使用 ├── build
| ├── css
| | ├── main.[contenthash:8].css
| | └── main.[contenthash:8].css.map
| ├── js
| | ├── main.[hash].js
| | └── main.[hash].js.map
| ├── media
| | └── [hash].[ext]
| └── favicon.ico
| └── index.html
|
├── public
| ├── favicon.ico
| └── index.html
|
├── src
| ├── actions
| ├── components
| ├── containers
| ├── images
| ├── reducers
| ├── routes
| ├── store
| ├── styles (global)
| ├── tests
| ├── types
| ├── utils
| ├── index.js
| ├── serviceWorker.js
| └── setupTests.js
|
├── .gitignore
├── README.md
├── package.lock.json
└── package.json
做或多或少的相同事情:
for
答案 1 :(得分:0)
加上@markmeyer的答案,这里的for循环很容易阅读:
let arr = [ '--input', 'HI!' , 'test']
let obj = {}
for (let i = 0; i < arr.length; i+=2) {
if (arr[i+1] != undefined) {
obj[arr[i]] = arr[i+1];
} else {
obj["<predefinedkey>"] = arr[i];
}
}
console.log(obj)