function getItems() {
var item=document.getElementById('itemName').value;
var items=[];
var split = item.match(/\S+\s*/g);
items.push(split);
console.log(items.length);
}
我想获得数组的长度,当我运行此代码时,我只得到'1'作为长度。
答案 0 :(得分:2)
数组中只有一个项目:match
调用的结果,您将其推送到数组中。
如果您的目标是设置 items
到匹配结果,则您需要分配到items
而不是push
。你也不会创建一个数组,因为match
给你一个:
var items = item.match(/\s+\s*/g);
console.log(items.length);
示例:
function getItems() {
var item=document.getElementById('itemName').value;
var items = item.match(/\S+\s*/g);
console.log(items.length);
}
getItems();

<input id="itemName" value="one two three">
&#13;
附注:您的结果将包含每个非空白字符系列后面的空格。如果这就是你想要的,那就太好了;如果没有,你可以查看split
:
var items = item.split(/\s+/);
但这取决于items
中你想要的最终结果。