基本上我有一个JSON,它的格式如下:
JSON= [
{username: foo, score: 12343},
{username: bar, score: 9432},
{username: foo-bar, score: 402, ...
]
根据分数,我知道我回来的JSON已经从最高到最低排名。
如何创建一个自动插入排名位置的数组?例如,我希望看到输出:
[1, username: foo, score: 12343],
[2, username: bar, score: 9432],
[3, username: foo-bar, score: 402],...
答案 0 :(得分:0)
Javascript已经让你了解。数组总是有索引,但它从零开始。如果你想要最好,只需使用
console.log(JSON[0]);
如果你坚持1为1,试试这个
function getByRank(index) {
return JSON[index - 1];
}
所以你会得到最好的
console.log(getByRank(1)); // {username: "foo", score: 12343}
我认为在你的代码中json是有效的json,请参阅foo附近的"
...
答案 1 :(得分:0)
您的语法似乎已关闭,但假设JSON为:
JSON = [
{username: 'foo', score: 12343},
{username: 'bar', score: 9432},
{username: 'foo-bar', score: 402}
]
由于Arrays已编入索引并且您可以使用.map
方法访问当前索引,因此您可以执行以下操作:
JSON = JSON.map(function (record, index) {
record.rank = index + 1;
return record;
})
这应该给你以下输出:
[
{ rank: 1, username: 'foo', score: 12343 },
{ rank: 2, username: 'bar', score: 9432},
{ rank: 3, username: 'foo-bar', score: 402}
]
希望这有帮助。
答案 2 :(得分:0)
从您的问题的角度来看,您已经获得了answer。我只是想列举一些想法,也许它们对你们中的一些人有用:
首先,JSON(JavaScript Object Notation)是一种开放标准格式,它使用人类可读的文本来序列化对象,数组,数字,字符串,布尔值和null。正如名称所示,它的语法来自JavaScript,但JSON实际上是一个文本,一个字符串。
JSON字符串是(almost always)语法正确 JavaScript代码。
请确保您不使用关键字" JSON"作为变量的名称,因为JSON实际上是JavaScript中的existing object,它用于编码为JSON格式(stringify)并从JSON格式解码(解析)。
只需在JavaScript控制台中试用JSON.stringify({a: 2, b: 3});
和JSON.parse('{"a":2,"b":3}');
。