将数组字符串的声明拆分为字符串数组

时间:2018-08-09 18:08:45

标签: javascript jquery arrays split

使用javascript / jquery将数组的声明字符串拆分为字符串数组的最佳方法是什么?我正在使用的字符串的示例:

 franchise[location][1][location_name]

我希望将其转换为如下数组:

['franchise', 'location', '1', 'location_name']

奖金:如果我还可以使该数值成为一个整数,而不仅仅是一个字符串,那将是非常棒的事情。

3 个答案:

答案 0 :(得分:3)

您可以将String.split与与所有无字母数字字符匹配的正则表达式一起使用。

类似的东西:

const str = 'franchise[location][1][location_name]';
const result = str.split(/\W+/).filter(Boolean);
console.log(result);

答案 1 :(得分:2)

一种选择是只匹配单词字符:

console.log(
  'franchise[location][1][location_name]'.match(/\w+/g)
);

要将“ 1”转换为数字,可以在之后进行.map

const initArr = 'franchise[location][1][location_name]'.match(/\w+/g);
console.log(initArr.map(item => !isNaN(item) ? Number(item) : item));

答案 2 :(得分:0)

您可以尝试

 const str = 'franchise[location][1][location_name]';
 const res = str.split(/\W+/).map(i => { return Number(i) ? Number(i) : i;})