javascript - javascrip字符串转数组
PHP中文网
PHP中文网 2017-04-10 14:31:06
0
4
567

格式是:xxxx(yyy)(zzzzz)
可能有多个括号
转换为['xxxx',yyy,zzzzz]
有什么优雅的方法吗?

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(4)
阿神

(替换成,,把(替换成空字符串,然后用,分隔,看这样行么:

var text = "xxxx(yyy)(zzzzz)";
var arr = text.replace(/\(/g, ',').replace(/\)/g, '').split(',');
console.log(arr); // ["xxxx", "yyy", "zzzz"]
小葫芦
text = "xxxx(yyy)(zzzzz)";
Array.prototype.addItem = function(item){this.push(item);return this}
var arr = text.match(/\((.+?)\)/g).map(function(v){return v.slice(1,-1)}).reverse().addItem(text.match(/.+?\(/)[0].slice(0,-1)).reverse();
console.log(arr);

从你的结果来看,yyy zzz应该是Number吧,只要在map的回调函数里面做下处理就好了。

阿神

正则表达式。

Ty80

用正则,看看还有没有优雅的,正确性有待验证

var xx = "xxxx(yyy)(zzzzz)";
var arr = xx.split(/(?:\)\(|\)|\()/);
arr.pop();
console.log(arr);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal