Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用变量从数组中获取数据_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 使用变量从数组中获取数据

Javascript 使用变量从数组中获取数据,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个包含API数据的数组 下面是来自API的数据 [ { "id": "litecoin", "name": "Litecoin", "symbol": "LTC", "rank": "6", "price_usd": "48.5624", "price_btc": "0.0128526", "24h_volume_usd": "198794000.0", "market_cap_usd": "2576800216.0",

我有一个包含API数据的数组

下面是来自API的数据

[
  {
    "id": "litecoin",
    "name": "Litecoin",
    "symbol": "LTC",
    "rank": "6",
    "price_usd": "48.5624",
    "price_btc": "0.0128526",
    "24h_volume_usd": "198794000.0",
    "market_cap_usd": "2576800216.0",
    "available_supply": "53061632.0",
    "total_supply": "53061632.0",
    "percent_change_1h": "-1.98",
    "percent_change_24h": "6.07",
    "percent_change_7d": "-0.51",
    "last_updated": "1506172141",
    "price_eur": "40.637987568",
    "24h_volume_eur": "166354795.08",
    "market_cap_eur": "2156317957.0"
  }
]
我正在努力争取价格。 我知道我可以和你一起做这件事

data.price_eur
问题是欧元可以兑换成任何其他货币。 所以,如果我想得到美元是使用

data.price_usd
但货币将是可变的。 所以我想在'price_'变量后面添加文本

我试过一些东西,但还没有成功。 这是我试过的

inputCrypto = 'eur';        
var priceCURCrypto = 'price_' + inputCrypto;
var priceCUR = data[0].priceCURCrypto;
当查看数组时,有人能告诉我们如何使用变量吗。

使用括号

var priceCUR = data[0][priceCURCrypto];
使用括号

var priceCUR = data[0][priceCURCrypto];
您可以使用访问变量中包含名称的属性。它将计算
[]
中的表达式,并将结果用作属性名

inputCrypto = 'eur';        
var priceCURCrypto = 'price_' + inputCrypto;
var priceCUR = data[0][priceCURCrypto];
示例

const obj={nameA:'nameA',nameB:'nameB'};
常量名称='name'
const propName=name+A';
//propName的值为'nameA',获取名为'nameA'的属性
console.log(obj[propName]);
//使用字符串连接
log(obj[name+'B'])您可以使用访问变量中包含名称的属性。它将计算
[]
中的表达式,并将结果用作属性名

inputCrypto = 'eur';        
var priceCURCrypto = 'price_' + inputCrypto;
var priceCUR = data[0][priceCURCrypto];
示例

const obj={nameA:'nameA',nameB:'nameB'};
常量名称='name'
const propName=name+A';
//propName的值为'nameA',获取名为'nameA'的属性
console.log(obj[propName]);
//使用字符串连接

log(obj[name+'B'])使用点表示法无法执行此操作,因为点后面的内容被视为文字属性名称

inputCrypto = 'eur';        
var priceCURCrypto = 'price_' + inputCrypto;
var priceCUR = data[0][priceCURCrypto];
但是您可以使用方括号表示法,它将属性名称作为构建字符串,这意味着您可以使用变量和表达式连接

foo.bar; //looks for the property @bar
foo[bar] //looks for the property *whose name is stored* in the variable @bar
因此,在你的情况下:

data[0][priceCURCrypto];

点对方括号语法。

使用点表示法不能这样做,因为点后面的内容被视为文字属性名称

inputCrypto = 'eur';        
var priceCURCrypto = 'price_' + inputCrypto;
var priceCUR = data[0][priceCURCrypto];
但是您可以使用方括号表示法,它将属性名称作为构建字符串,这意味着您可以使用变量和表达式连接

foo.bar; //looks for the property @bar
foo[bar] //looks for the property *whose name is stored* in the variable @bar
因此,在你的情况下:

data[0][priceCURCrypto];

点对方括号语法。

这里的回答者不应该第无数次回答相同的问题,而应该投票将其作为副本关闭,这显然是事实。这里的回答者不应该第无数次回答相同的问题,而应该投票将其作为副本关闭,这显然是事实。