У меня есть функция, возвращающая массив, который выглядит следующим образом:Хотите превратить вывод в массив nodejs
.then(Cause.findOne(causeId).populate('admins').exec(function (err, cause) {
var ids = cause.admins.map(function(admin) {
return admin.id;
})
var join_ids = "'" + ids.join("','");
Выход console.log (join_ids);
'26c14292-a181-48bd-8344-73fa9caf65e7','64405c09-61d2-43ed-8b15-a99f92dff6e9','bdc034df-82f5-4cd8-a310-a3c3e2fe3106'
Я пытаюсь передать первое значение массива в другой функции в качестве USERID фильтра:
let message = {
app_id: `${app_id}`,
contents: {"en": "Yeah Buddy," + Cause.name + "Rolling Like a Big Shot!"},
filters: [{'field': 'tag', 'key': 'userId', 'relation': '=', 'value': `${join_ids}`}]
И выход console.log (сообщения);
{ app_id: '*****************',
contents: { en: 'Yeah Buddy,undefinedRolling Like a Big Shot!' },
filters:
[ { field: 'tag',
key: 'userId',
relation: '=',
value: '\'26c14292-a181-48bd-8344-73fa9caf65e7\',\'64405c09-61d2-43ed-8b15-a99f92dff6e9\',\'bdc034df-82f5-4cd8-a310-a3c3e2fe3106' } ],
ios_badgeType: 'Increase',
ios_badgeCount: 1 }
Если я положил console.log (join_ids [0]);
2
console.log (message);
{ app_id: '*****************',
contents: { en: 'Yeah Buddy,undefinedRolling Like a Big Shot!' },
filters:
[ { field: 'tag',
key: 'userId',
relation: '=',
value: 2} ],
ios_badgeType: 'Increase',
ios_badgeCount: 1 }
Мой вопрос, как я перехожу выход join_ids стать массивом, где индексы 0,1,2,3.
I.E.
join_ids[0] = '26c14292-a181-48bd-8344-73fa9caf65e7', join_ids[1] = '64405c09-61d2-43ed-8b15-a99f92dff6e9'
Спасибо!
Чтобы сериализовать массив в строку, вы можете просто использовать ['JSON.stringify'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Чтобы преобразовать его обратно в массив, используйте ['JSON.parse'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse). – qxz