代码
var q = JSON.parse('[{"15": {"bUrl": "https://example.com/r2359","name": "Ninpo","url": null,"desc": null,"series": [{"title": "Nana","id": "6308","authors": ["Author1"]}]}}, {"390": {"bUrl": "https://example.com/r2667","name": "Sanpo","url": null,"desc": null,"series": [{"title": "Baba","id": "6498","authors": ["Author2"]}]}}]');
var yy = [];
for (i = 0; i < q.length; i++) {
yy.push(q[i]);
}
console.log(yy);
我正在尝试访问字符串“15”和“390”,但循环它们只是为我提供每个组的整个对象。如何只提取数字字符串,以便我可以用它们构建一个数组?
最佳答案
您可以在对象上使用Object.keys
来获取数组形式的键,并使用Array#reduce
和Array#concat<的组合
将键平面映射到单个数组中。
var q = JSON.parse('[{"15": {"bUrl": "https://example.com/r2359","name": "Ninpo","url": null,"desc": null,"series": [{"title": "Nana","id": "6308","authors": ["Author1"]}]}}, {"390": {"bUrl": "https://example.com/r2667","name": "Sanpo","url": null,"desc": null,"series": [{"title": "Baba","id": "6498","authors": ["Author2"]}]}}]');
console.log(
Object.keys(q[0])
)
console.log(
q.reduce((acc, x) => acc.concat(Object.keys(x)), [])
)
<script src="https://codepen.io/synthet1c/pen/KyQQmL.js"></script>
关于javascript - 如何使用起始键从 JSON 对象构建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194525/