javascript - 遍历 JSON 对象并根据键名生成数组
问题描述
我有以下json
对象:
[{"i_value":"1","i_value_2":"1"},
{"i_value":"24","i_value_2":"24"}]
然后我有以下循环:
let setData = [];
for (let i = 0; i < response.data.length; i++) {
if ('access key name' === 'i_value') {
setData.push(response.data[i].i_value)
}
}
setData = setData.map(Number);
console.log(setData);
我只想在没有setData
键名时填充新数组=== i_value
i_value_2
我尝试了以下方法:
let setData = [];
let keys = Object.keys(response.data);
for (let i = 0; i < response.data.length; i++) {
if (keys[i] === 'i_value') {
setData.push(response.data[i].i_value)
}
}
setData = setData.map(Number);
console.log(setData);
但这不起作用。对此有什么想法吗?
解决方案
只需获取原始数据 和.map
,提取i_value
属性:
const input = [{"i_value":"1","i_value_2":"1"},
{"i_value":"24","i_value_2":"24"}];
console.log(
input.map(({ i_value }) => Number(i_value))
);
另请注意,没有 JSON 对象之类的东西。如果你有一个对象,你就只有一个对象;JSON 格式是一种字符串格式,可以通过JSON.parse
.
推荐阅读
- c# - ASP.net 核心的当前上下文中不存在名称“程序”
- typescript - 带有 typescript 的 Webpack 得到 TypeScript 没有输出错误
- python - 为什么我的 PDF 的 headers['content-type'] 为 'text/html; 字符集=utf-8'?
- azure - 使用逻辑应用检查 Azure 数据目录
- ios - Swift:如何在后台 URLSession.downloadTask 上捕获磁盘已满错误?
- python - 如何在数据库中保存有效的 django 表单时触发自定义 python 代码
- javascript - Bootstrap 轮播 - 在 javascript 中循环
- c++ - 使用循环填充结构
- python - 使用列子集的匹配长度裁剪数据框列
- cassandra - cassandra 升级是否需要为保存 TTL 数据的集群运行 nodetool upgradesstables