如何从数组中提取单个值

时间:2016-02-04 00:31:00

标签: javascript json

我是JavaScript的新手,请原谅我,如果这是一个愚蠢的问题:

我有这个Ajax调用:

$.ajax({
  type: 'GET',
  url: 'product_prices/' + value,
  success: function (data) {
    console.log('success', data)
  }
});

价值"数据"产生一个数组:

success [{"price":"120.00"}]

我需要的是提取价格的价值(120)并在以后添加它。

如何获得此值?

5 个答案:

答案 0 :(得分:3)

data有一个带有price属性的对象数组。访问数组中的第一个对象并将其价格解析为数字:

parseFloat(data[0].price);

答案 1 :(得分:3)

你可以这样做:

var price = data[0]['price'];

或:

var price = data[0].price;

这两种方法都是这样的:您正在访问名为data的数组中的第一个值,然后是该值中名为“price”的字段。不必将其分配给变量。

但是,您可能希望在循环内执行此操作,迭代所有数据值,以便在数据的第一个元素不是您想要的情况下,您仍然可以捕获它。例如:

data.forEach(function(i) {
    console.log(data[i].price);
    //do stuff with the value here
});

答案 2 :(得分:2)

测试一下, 在使用之前,您必须解析JSON字符串!

var data = JSON.parse('[{"price":"120.00"}]'); var Price = data[0].price; // 120.00 //OR IF it's Single And not Array var Price = data.price; // 120.00

答案 3 :(得分:1)

由于您的响应是一个数组,请访问第一个位置,然后访问object属性:

data[0].price; //"120.00"

答案 4 :(得分:-1)

var result = {},
    sum    = 0;
$.ajax({
    type: 'GET',
    url: 'product_prices/' + value,
    success: function (data) {
        result = data[0];
    }
});

sum = parseFloat(result.price) + 2.25;