所以,我有这个函数可以获得一个JSON对象,但我想让它更简单,所以我创建了一个函数来获取JSON对象的值.为什么不起作用?
var itemData = {
weapon: function () {
return {
1: {
'name': 'Dagger',
'extra_skill': 'none',
'cost': 500,
'attack': 5
},
2: {
'name': 'Pickaxe',
'extra_skill': 'mining',
'cost': 25,
'attack': 5
}
}
},
getWeapon: function (value, x) {
var obj = JSON.parse(value);
return itemData.weapon()[x].obj
}
}
// outputs: Dagger
console.log(itemData.weapon()[1].name)
// Get the name of weapon 1
// however, it outputs: Uncaught SyntaxError: Unexpected token a
console.log('Getting weapon... ' + itemData.getWeapon('name', 1))Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
实际上,您根本不需要JSON解析来实现这一点,因为您无处可寻找需要解析的JSON字符串.
这是一个工作示例:
var itemData = {
weapon: function () {
return [
{
'name': 'Dagger',
'extra_skill': 'none',
'cost': 500,
'attack': 5
},
{
'name': 'Pickaxe',
'extra_skill': 'mining',
'cost': 25,
'attack': 5
}
];
},
getWeapon: function (value, x) {
return itemData.weapon()[x][value];
}
}
// outputs: Dagger
console.log(itemData.weapon()[0].name)
// outputs: Getting weapon... Pickaxe
console.log('Getting weapon... ' + itemData.getWeapon('name', 1))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |