这个问题已经在这里有一个答案:
我有有效的JSON数据:
{
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
我怎样才能从这样的数据不存在键值?
编辑:有@kolzar和@FZs的帮助下,我只需通过下面的代码管理它:
for (var key in obj) {
console.log(key + obj[key]);
}
var obj = {
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
for (var key in obj) {
for (var i = 0; i< obj[key].length; i++) {
console.log(obj[key][i]);
}
}
我不知道你想要什么。告诉我。
在阵列([...]
),键是数字。
在JS,你可以访问属性两种方式:
container[key_as_expression]
或container.key_as_identifier
由于JS标识符不允许的标识符以数字开头,数字键只能通过第一种方式访问:
data={
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
console.log(data.bitcoin[0]) //"-0.47"
console.log(data.bitcoin[1]) //"-0.46"
由于第一语法允许表情,关键不能硬编码:
n=0
data={
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
console.log(data.bitcoin[n]) //"-0.47"
console.log(data.bitcoin[n+1]) //"-0.46"
而且有很多循环的,它可以帮助你:
for
- 最常用的循环。要在一个阵列中的所有元素执行的东西:
data=[1,2,3,"hello","world"]
for(let i=0;i<data.length;i++){
console.log(i,data[i])
}
for of
- 更简单的语法,但关键是不可用的。例:
data=[1,2,3,"hello","world"]
for(let x of data){
console.log(x)
}
array.forEach
- 在阵列中的所有元素执行一个功能:
data=[1,2,3,"hello","world"]
data.forEach(function(x,i){console.log(i,x)})
还有更多类似的选项!
bitcoin
和maker
是数组,所以里面的物品有没有密钥。
const obj = {
"bitcoin": [
"-0.47",
"-0.46",
"-0.42"
],
"maker": [
"8.29",
"8.29",
"6.89"
]
}
要获取值:
var bitcoinItems = obj.bitcoin;
var firstBitcoin = bitcoinItems[0];