Как представить разреженный массив в JSON?
У меня есть разреженный массив, который я хочу представить в JSON. Например:
-10 => 100
-1 => 102
3 => 44
12 => -87
12345 => 0
Как я могу это сделать? Я могу это сделать?
2 ответа
Вы можете представить его как простой объект:
{
"-10" : 100,
"-1" : 102,
"3" : 44,
"12" : -87,
"12345" : 0
}
Поскольку это будет простой объект, вы не можете повторить его так же, как массив, но вы можете использовать for...in
заявление:
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var value = obj[key];
}
}
И если вы хотите получить доступ к определенному элементу по ключу, вы также можете использовать здесь метод доступа к свойствам в квадратных скобках:
obj['-10']; // 100
Обратите внимание, что я использую hasOwnProperty
метод внутри for...in
Цикл, чтобы предотвратить итерацию свойств, определенных на более высоких уровнях цепочки прототипов, что может вызвать проблемы и непредвиденное поведение... подробнее здесь.
Да, ты можешь. Имя члена объекта JSON - это строки. Строки могут содержать любое значение в кодировке UTF-8:
{
"-10" : 100,
"-1" : 102,
"3" : 44,
"12" : -87,
"12345" : 0
}