我有一个长度为220的数组如下:
var tF = ["PETMEI 2011: the 1st international workshop on pervasive eye tracking and mobile eye-based interaction","Pseudo-Volumetric 3D Display Solutions", .....]
我想创建一个这样的数组:
var arr = ["PETMEI","2011:", "the", "1st", "international", "workshop".........]
我尝试过这种方法,但它并没有按预期工作:
var arr = Object.keys(tF).map(function(k) { return tF[k] });
有关如何尽快创建阵列的任何想法?
这是我的工作DEMO。
感谢您的帮助!
答案 0 :(得分:3)
它看起来像一个字符串,只有.split
它
var arr = tF[0].split(/\s/);
如果你想将所有tF
扁平化为一个大数组,
var arr = [];
tF.forEach(function (e) {arr = arr.concat(e.split(/\s/));});
答案 1 :(得分:2)
您可以使用map
后跟concat
:
var arr = tF.map(function(k) {
return k.split(' ')
});
arr = Array.prototype.concat.apply([], arr);
答案 2 :(得分:1)
这是最短的一个。
var arr = tF.join(' ').split(/\s+/);
答案 3 :(得分:1)
你可以这样做:
var arr = tF.reduce(function(a, b) {
return a.concat(b.split(/\s+/));
}, []);
console.log(arr);
<强> The demo. 强>
答案 4 :(得分:0)
也许使用数组连接?
var tF = ["PETMEI 2011: the 1st international workshop on pervasive eye tracking and mobile eye-based interaction","Pseudo-Volumetric 3D Display Solutions"]
var newArr = [];
for(var key in tF)
{
newArr = newArr.concat(tF[key].split(' '));
}
console.log(newArr);
答案 5 :(得分:-1)
如果我理解正确的话,你需要做的就是将字符串“拆分”为“”,把它变成一个单词数组。
http://jsfiddle.net/whtb9ves/1/
var arr = Object.keys(tF).map(function(k) { return tF[k].split(" ") });
如果您正在考虑通过单词进行拆分 - 您可能也希望将其标准化,例如删除标点符号等。这取决于应用程序......