假设我有一个变量users
,它包含以下文本字符串,其中每个用户由分号分隔,每个用户的每个属性由逗号分隔:
Bob,1234,Bob@example.com;Mark,5678,Mark@example.com
我应该如何将此内容分割成一个名为
userArray
的多维数组变量,其样式如下所示:[
[Bob,1234,Bob@example.com],
[Mark,5678,Mark@example.com]
]
使用JavaScript?
假设我有一个变量users
,它包含以下文本字符串,其中每个用户由分号分隔,每个用户的每个属性由逗号分隔:
Bob,1234,Bob@example.com;Mark,5678,Mark@example.com
userArray
的多维数组变量,其样式如下所示:[
[Bob,1234,Bob@example.com],
[Mark,5678,Mark@example.com]
]
使用JavaScript?
';'
进行拆分,然后对结果数组中的每个元素通过','
进行拆分。类似这样:"Bob,1234,Bob@example.com;Mark,5678,Mark@example.com"
.split(';')
.map(function(sub) {
return sub.split(',')
});
只需在您的浏览器控制台中运行上面的片段,您将看到:
[
Array[3]0: "Bob"1: "1234"2: "Bob@example.com"length: 3__proto__: Array[0],
Array[3]0: "Mark"1: "5678"2: "Mark@example.com"length: 3__proto__: Array[0]
]
b.split(';').map(e => e.split(',')).reduce((acc, cur) => cur.concat(acc), []).filter(e => !!e)
你只需要这样做
var users = 'Bob,1234,Bob@example.com;Mark,5678,Mark@example.com';
var userInfo = users.split(';');
for (var i = 0, len = userInfo.length; i < len; i++) {
userInfo[i] = userInfo[i].split(',');
}
console.log('userInfo', userInfo);
var str = 'Bob,1234,Bob@example.com;Mark,5678,Mark@example.com',
array = str.split(';').map(function (a) { return a.split(','); });
console.log(array);
ES6
var str = 'Bob,1234,Bob@example.com;Mark,5678,Mark@example.com',
array = str.split(';').map(a => a.split(','));
console.log(array);
var arr = [];
var string = 'Bob,1234,Bob@example.com;Mark,5678,Mark@example.com';
var users = string.split(';')
for(var user in users)
arr.push(users[user].split(','));
JSON.stringify(arr);
split
吗? - Bergix.split(";").map((y) => y.split(","))
。 - Josh C.