从响应中获取特定值

时间:2020-05-06 20:56:43

标签: javascript

我收到这个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);
}

5 个答案:

答案 0 :(得分:2)

您可以使用Object.valuesmap

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));