从数组中获取所有单个单词
Get all single words from array
我正在尝试将一个数组的所有单词分离并推送到另一个数组中。
旧阵列:
["black cat", "white dog", "grey mouse"]
预期的数组:
["black"],["cat"],["white"],["dog"],["grey"],["mouse"]
使用我的代码,我仍然得到用逗号分隔的 3 个数组:
var arr = ["black cat", "white dog", "grey mouse"];
var arr_new = [];
for (i = 0; i < arr.length; i++) {
curr_val = arr[i].split(" ");
arr_new.push(curr_val);
}
这是因为该方法split
返回一个数组,其中单词用空格拆分。解决方案是迭代这个新数组,而不是在数组中插入(推送)。
var arr = ["black cat", "white dog", "grey mouse"];
var arr_new = [];
for (i = 0; i < arr.length; i++) {
curr_val = arr[i].split(" ");
for(j=0; j<curr_val.length;j++){
arr_new.push(curr_val[j]);
}
}
这就是我会这样做的:
var oldArr = ["black cat", "white dog", "grey mouse"];
var newArr = oldArr
// this will turn each string into an Array of Arrays, like this:
// [["black", "cat"], ["white", "dog"], ["grey", "mouse"]]
.map(function(item) {
return item.split(" ");
})
// then, flatten this Array of Arrays into a single-level Array.
// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Flatten_an_array_of_arrays
.reduce(function(a, b) {
return a.concat(b);
}, []);
document.writeln(JSON.stringify(newArr))
JSFiddle: https://jsfiddle.net/6hLazr5w/1/
var newArray=[],
oldArray = ["black cat", "white dog", "grey mouse"];
for(item in oldArray) {
tmpArray = oldArray[item].split(' ');
for(tmp in tmpArray) {
newArray.push(tmpArray[tmp]);
}
}
这里有一个带有reduce和replace 方法的选项,
var a = ["black cat", "white dog", "grey mouse"]
var re = a.reduce((acc,x)=>{
x.replace(/[a-zA-z]+/g,function(m){
acc.push([m])
});
return acc;
},[])
console.log(re)
相关文章:
- 是否可以禁用jquery中的单个单选按钮
- 如何从html页面中的表单获取值's变量
- 使用 jquery ajax 从 Bootstrap 3 模态表单获取数据
- JQuery & HTML:如何使用echo $_POST将数据从一个表单获取到另一个表单
- 将数据从表单获取到骨干中的集合
- 触发单个单击事件时触发的所有单击事件处理程序
- Ajax/PHP 表单获取序列化选择值
- 从nodejs中的表单获取json文件内容
- javascript禁用单个单选按钮
- 单个regexp获取页面URL,但从完整URL中排除端口号
- 如何从html表单获取纬度经度值到谷歌地图
- 从表单获取值并显示消息的JavaScript
- 如何在单击按钮后再次动态单击按钮(将单个单击视为双击)
- 从HTML表单获取值
- 创建一个复杂的html5表单.获取动态表单数据.Id vs Name
- 在页面加载时保持单个单选按钮未选中
- 流星表单获取带有动态名称的输入值
- Jquery表单获取默认值
- 从单个字符串获取json
- 只有在字段满足时才发送表单(获取)数据(不是验证)