STLEON
@STLEON
In Console We Trust. Code hard. Or die.

Как в VkScript добавить свойство в объект (не через ".")?

Есть такой вот код:
var source = Args.source;
var targets = Args.targets;
// var common_friends = {};
var common_friends = [];
var req;
var parametr = "";
var start = 0;

// из строки с целями вынимаем каждую цель
while(start<=targets.length-1){
    if (targets.substr(start, 1) != "," && start != targets.length-1){
        parametr = parametr + targets.substr(start, 1);
    }
    else {
        // сразу делаем запросы, как только вытащили id
        req = API.friends.getMutual({"source_uid":source, "target_uid":parametr});
        common_friends = common_friends + req;
        // а нужно common_friends[parametr] = req; VkScript похоже не поддерживает
        parametr = "";
    }
    start = start + 1;
}

return common_friends;

Хранимая процедура в ВКонтакте в качестве параметров принимает: source (id) и targets(25 id через запятую). Далее мы вынимаем по id из targets и используем их для получения массива с общими друзьями.

Теперь всю эту информацию надо отправить назад в читаемом виде:
{'id': [список общих друзей], 'id': [], 'id': [friend_id1, friend_id2],

Но как я понял, добавить свойство в объект через использование квадратных скобок невозможно - обыкновенное
var a = {};
a["name"] = 123;

Возвращает error: non-variable in assignment
Как на VkScript можно еще добавить свойство в объект?
var a = {};
a.name = 123;

В моем случае не очень подходит.
  • Вопрос задан
  • 3343 просмотра
Решения вопроса 1
STLEON
@STLEON Автор вопроса
In Console We Trust. Code hard. Or die.
var a = {"cname":456};
var b = {"name":123};
a = a + b;
return a;

Вернет
response: {
cname: 456,
name: 123
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы