我收到这个ajax响应:
{"0":{"id":1,"value":"73.0","tracker_id":1,"created_at":"2020-05-04 20:13:22","updated_at":"2020-05-04 20:13:22"},"7":{"id":8,"value":"73.0","tracker_id":1,"created_at":"2020-05-03 20:13:22","updated_at":"2020-05-04 20:13:22"},"8":{"id":9,"value":"73.0","tracker_id":1,"created_at":"2020-05-06 19:48:31","updated_at":"2020-05-06 19:48:31"}}
我只想从每一行中提取值。这显然没有用:
for (i = 0; i < data.length; i++) {
console.log(data[i].value);
}
答案 0 :(得分:2)
您可以使用Object.values
和map
:
const data = {"0":{"id":1,"value":"73.0","tracker_id":1,"created_at":"2020-05-04 20:13:22","updated_at":"2020-05-04 20:13:22"},"7":{"id":8,"value":"73.0","tracker_id":1,"created_at":"2020-05-03 20:13:22","updated_at":"2020-05-04 20:13:22"},"8":{"id":9,"value":"73.0","tracker_id":1,"created_at":"2020-05-06 19:48:31","updated_at":"2020-05-06 19:48:31"}}
const value = Object.values(data).map(e => e.value)
console.log(value)
答案 1 :(得分:2)
应该有一个更好的解决方案,但它可以工作
const values = Object.values(json).map(({ value}) => value)
答案 2 :(得分:0)
我想响应已经被解析了。如果您想像示例中那样遍历每个项目,
const result = Object.values(data);
for (i = 0; i < result.length; i++) {
console.log(result[i].value);
}
答案 3 :(得分:-1)
您可以使用 for循环来映射对象:
const data = {"0":{"id":1,"value":"72.0","tracker_id":1,"created_at":"2020-05-04 20:13:22","updated_at":"2020-05-04 20:13:22"},"7":{"id":8,"value":"73.0","tracker_id":1,"created_at":"2020-05-03 20:13:22","updated_at":"2020-05-04 20:13:22"},"8":{"id":9,"value":"74.0","tracker_id":1,"created_at":"2020-05-06 19:48:31","updated_at":"2020-05-06 19:48:31"}};
for (key in data) {
console.log(data[key].value);
}
答案 4 :(得分:-1)
尝试一下:
Object.values(a).map(p => console.log(p.value));