从javascript中的数组获取数据

从javascript中的数组获取数据,javascript,arrays,Javascript,Arrays,我有这样一个数组,如下所示 //var tt is from console.log var tt =[ {"price":50,"quantity":1,"sku":1}, {"price":70,"quantity":5,"sku":2} ]; 注意:var tt是我执行console.log时得到的数组;当我将其如上所述存储到var tt时,它工作正常 我试过以下方法 console.log(tt.price);//this give

我有这样一个数组,如下所示

//var tt is from console.log
var tt =[
         {"price":50,"quantity":1,"sku":1},
         {"price":70,"quantity":5,"sku":2}
        ];

注意:var tt是我执行console.log时得到的数组;当我将其如上所述存储到var tt时,它工作正常

我试过以下方法

 console.log(tt.price);//this give me 'undefined'
 console.log(tt['price'];//this also gives me 'undefined'

任何知道如何从这样的数组中访问值的人?

在访问price成员之前,您必须从数组中选择一个元素

console.log(tt[0].price);     // 50
console.log(tt[1]['price']);  // 70

在访问price成员之前,必须从数组中选择一个元素

console.log(tt[0].price);     // 50
console.log(tt[1]['price']);  // 70

它是一个对象数组,因此必须使用数组语法访问对象,然后才能使用属性名

tt[0].price

这就是您想要的。

它是一个对象数组,因此必须使用数组语法来访问对象,然后才能使用属性名称

tt[0].price
这就是您想要的。

console.log实际上是js中的一个函数,它不返回任何内容。 因此,如果您说您正在将一个consoloe.log分配给var tt,那么实际上您在变量中没有定义,因为函数没有返回任何内容

var tt = console.log([
         {"price":50,"quantity":1,"sku":1},
         {"price":70,"quantity":5,"sku":2}
])
//therefore
console.log(tt) or 
console.log(tt[0]['price'])
//will give you undefined.
如果你这样做

         //first
var tt = console.log([
         {"price":50,"quantity":1,"sku":1},
         {"price":70,"quantity":5,"sku":2}
        ])
        //second  
        console.log(tt)
然后它将首先从第一个console.log打印阵列 然后从第二页打印未定义。 var tt仍然没有分配任何值,并且会给您未定义的值。

console.log实际上是js中的一个函数,它不返回任何内容。 因此,如果您说您正在将一个consoloe.log分配给var tt,那么实际上您在变量中没有定义,因为函数没有返回任何内容

var tt = console.log([
         {"price":50,"quantity":1,"sku":1},
         {"price":70,"quantity":5,"sku":2}
])
//therefore
console.log(tt) or 
console.log(tt[0]['price'])
//will give you undefined.
如果你这样做

         //first
var tt = console.log([
         {"price":50,"quantity":1,"sku":1},
         {"price":70,"quantity":5,"sku":2}
        ])
        //second  
        console.log(tt)
然后它将首先从第一个console.log打印阵列 然后从第二页打印未定义。
var tt仍然没有赋值,并且会给您未定义的值。

Hello@Willis Blackburn,奇怪的是,它也会返回“未定义”,那么您运行的代码就不是您在问题中发布的代码。我在浏览器控制台中运行了它,它成功了。提供一个到JSFIDLE或类似的链接,我会看一看。我从控制台复制的var tt的值是粘贴的,因为如果确实按原样运行,它将与您的解决方案一起工作,我猜控制台的值在存储在变量中时会得到不同的处理,试图找出itHello@Willis Blackburn背后的奥秘,奇怪的是,它也返回“undefined”,那么您正在运行的代码就不是您在问题中发布的代码。我在浏览器控制台中运行了它,它成功了。提供一个到JSFIDLE或类似的链接,我来看看。var tt的值是从控制台粘贴的,因为如果确实按原样运行,它将与您的解决方案一起工作,我猜控制台的值在存储在变量中时会得到不同的处理,试图找出itvar tt背后的奥秘是我在执行console.log时得到的一个数组;当我如上所述将其存储到var tt时,它会按照您的建议工作,是否需要首先将其转换为其他内容?不,根据JSON符号,这种方式是可以的。我还认为我做了一些错误的事情,发现控制台中显示的值不能像var tt那样处理,尽管它们似乎包含相同的数组。仍然在试图弄清楚这里发生了什么,var tt是我在执行console.log时得到的一个数组;当我如上所述将其存储到var tt时,它会按照您的建议工作,是否需要首先将其转换为其他内容?不,根据JSON符号,这种方式是可以的。我还认为我做了一些错误的事情,发现控制台中显示的值不能像var tt那样处理,尽管它们似乎包含相同的数组。还在想弄清楚这里发生了什么