尝试将逗号分隔的字符串转换为数组w / js中的每个值周围的引号:
var ipd = 'field1,field2';
console.log('Img Pad string: ' + ipd); // field1,field2
var ipdarray = new Array();
ipdarray = ipd.split(',');
console.log('Img Pad array split: ' + typeof ipdarray); // object
console.log('Img Pad array: ' + ipdarray); // field1,field2
我希望数组为:[“field1”,“field2”]
试图遵循:Convert comma separated string to array 但它没有转换为数组。
答案 0 :(得分:3)
它正被转换为数组,但是当你输出字符串时(在console.log中),由于+运算符(作为连接符),数组被强制转换回该字符串语法。 /强>
以下是一个更加孤立的例子:
var string = 'field1,field2';
var arr = string.split(',');
console.log(Array.isArray(arr));
console.log(arr.length);
//When using the +, it will coerce into a string
console.log('Coerce to string ' + arr);
//When passing the array as an argument, it will stay an array
console.log('Stays and array', arr);

为了保留数组文字语法,如果要使用+运算符,则在输出数组之前需要JSON.stringify数组,或者只需将数组输出为单独的参数即可的console.log
JSON.stringify(ipdarray);
看到它的实际效果:
var ipd = 'field1,field2';
console.log('Img Pad string: ' + ipd); // field1,field2
var ipdarray = new Array();
ipdarray = ipd.split(',');
console.log('Img Pad array split: ' + typeof ipdarray); // object
console.log('Img Pad array: ' + JSON.stringify(ipdarray)); // ["field1","field2"]
// OR
console.log('Img Pad array: ', ipdarray); // ["field1","field2"]

此外,数组是"对象" s,但还有其他方法可以确定是否"对象"是一个数组的实例:
var arr = [];
console.log(typeof arr);
console.log(arr instanceof Array)
console.log(Array.isArray(arr));

答案 1 :(得分:0)
根据输入字符串,您可以使用String.prototype.match()
与RegExp
/[^,]+/g
匹配一个或多个不是逗号的字符,
var ipd = 'field1,field2';
var ipdarray = ipd.match(/[^,]+/g);
请注意+
运算符将数组转换为
console.log('Img Pad array: ' + ipdarray); // field1,field2
在,
电话
console.log()
运算符
console.log('Img Pad array: ', ipdarray); // field1,field2
答案 2 :(得分:0)
var a = "field1,field2"
var b = a.split(',');
var c = b.map(function (v) {
return '"' + v + '"';
})
console.log(c);
console.log(c[0]);
console.log(c[1]);