阵列中的数组到单个数组
Array within an Array to single Array
var value = [{
"rowid": "one, two, three"
}, {
"rowid": "four"
}]
var selected = value.map(function(varId) {
return varId.rowid.toString();
});
console.log(selected);
console.log(selected.length);
我得到的输出是
["one, two, three", "four"]
2
但我期待
["one", "two", "three", "four"]
4
如何做到这一点?
使用 String#split()
和 Array#reduce()
:
var value = [{ "rowid": "one, two, three" }, { "rowid": "four" }],
selected = value.reduce(function (r, a) {
return r.concat(a.rowid.split(', '));
}, []);
document.write('<pre>' + JSON.stringify(selected, 0, 4) + '</pre>');
如注释中所述,它是对象数组而不是数组数组无论如何,请尝试return varId.rowid.toString().split(',');
你必须用逗号(', ')拆分你的第一个字符串,然后展平多维数组。
var value = [{
"rowid": "one, two, three"
}, {
"rowid": "four"
}];
var selected = value.map(function(varId) {
return varId.rowid.toString().split(', ');
});
// [ [ 'one', 'two', 'three' ], [ 'four' ] ]
selected = [].concat.apply([], selected);
// [ 'one', 'two', 'three', 'four' ]
console.log(selected);
console.log(selected.length);
试试这个:
var sel = value.map(function(varId) {
var rowId = varId.rowid.toString();
var splitted = rowId.split(",");
return splitted;
});
var arrayOfStrings = [].concat.apply([], sel);
for (int i = 0; i < arrayOfStrings.length; i++){
arrayOfStrings[i] = arrayOfStrings[i].trim();
}
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 数组在单个输入中返回
- 从数组/字符串中删除所有小数和单个数字
- 如何创建具有单个元素或元素数组的数组
- Google Web App 将单元素数组视为单个字符的数组
- 基于单个属性从数组中获取唯一对象
- 数组循环以获取单个值
- 使用jQuery deffered.resolveWith()在单个参数中传递数组
- 在 laravel 4 上使用循环将数据数组存储到单个数组中
- 将 CSS 类添加到数组中的单个元素
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 在MongoDB中,从文档中获取单个字段数组的最简单方法是什么
- 来自单个请求的 ajax 请求数组
- 获取数组角度的单个属性
- 使用 lodash 是将数据从数组映射到单个数组的好方法
- 如何在单个语句中的 $$('selector') 数组上使用 PrototypeJS .wrap()
- 在javascript(Angularjs)中将对象数组转换为单个对象
- 更改 JS 数组中的单个对象会更改所有元素
- 从数组中获取所有单个单词
- 从 Web 服务返回单个 json 对象的数组