我有一个字符串,我在 jQuery 回调中得到它,看起来像



我有一个在jQuery回调中得到的字符串,看起来像这样的792-1816vh1,792-1816vh2,我想将其转换为'792-1816vh1','792-1816vh2'。 我该怎么做? 任何帮助表示赞赏,谢谢。

所以这是我的问题:

我需要向函数发送一些用户 ID,该函数正在发送推送通知。如果带有userid:s的变量看起来像下面的"users",并且在js文件中被硬编码,它就可以工作。我还有另外两个带有文本的变量。

var usersfromarray = strArray[2];//from a callback, not working
console.log(usersfromarray)//this writes 792-1816vh1,792-1816vh2
var users='792-1816vh1','792-1816vh2'//this is hardcoded in the js file.
var pushtext="Some text..."
var tid="now"
var str='792-1816vh1,792-1816vh2';
var res='';
str.split(',').forEach(function(elem) {
res += "'" + elem + "',";
});
// remove last ","
res = res.substring(0, res.length-1);
console.log(res);//this writes '792-1816vh1','792-1816vh2'

我像这样将其发送到函数:

skickaPushnotiser([[pushtext,tid],users]);

如果我使用"用户",那么它正在工作,它会发送推送。

如果我使用"res",那么即使它在控制台中写入与"用户"相同的内容,它也无法正常工作。

"users"和"res"都在控制台中写:"792-1816vh1","792-1816vh2"。

那么,为什么"用户"在工作而不是"res"呢?我不知道我错过了什么? 我真的很感激一些帮助,谢谢。

编辑:我需要"res"是["792-1816vh1","792-1816vh2"],带括号和"而不是" 谢谢。

您可以使用split(',')将其分解为数组,并使用循环将其追加回来:

var str='792-1816vh1,792-1816vh2';
var res='[';
str.split(',').forEach(function(elem) {
res += '"' + elem + '", ';
});
// remove last ","
res = res.substring(0, res.length-2) + ']';
console.log(res);

最新更新