javascript通过分隔符将数组一分为二的最佳方式
javascript best way to split an array into two by delimiter
我在javascript:中有一个数组
a=["jhgkhjgk3j_jhgkjhgk","8797823_0120120", "aaaaa_bbb"]
我想要
b=["jhgkhjgk3j","8797823", "aaaaa"]
和
c=["jhgkjhgk","0120120", "bbb"].
因为CCD_ 1定界符。
有没有什么方法可以在不使用for
循环语句的情况下完成这项工作?
为了好玩,这里有一个ECMAScript 6解决方案。
let [b, c] = a.reduce(function(res, s, i) {
[res[0][i], res[1][i]] = s.split("_");
return res;
}, [[],[]]);
今天将在Firefox中运行,希望在不久的将来也能在其他浏览器中运行。
var a= ["jhgkhjgk3j_jhgkjhgk","8797823_0120120", "aaaaa_bbb"],
b = [],
c = [];
a.forEach(function (value, key) {
a[key] = value.split('_');
b.push(a[key][0]);
c.push(a[key][1]);
});
这里有一个应该在Chrome中工作的版本。它还使用reduce
:
var result = a.reduce(function(result, current, i) {
var parts = current.split(/_/);
result[0].push(parts[0]);
result[1].push(parts[1]);
return result;
}, [[], []]);
var b = result[0];
var c = result[1];
类似这样的ES5:
var a=["jhgkhjgk3j_jhgkjhgk","8797823_0120120", "aaaaa_bbb"];
var items = a.reduce(function(a,b){
a[0].push(b.split('_')[0]);
a[1].push(b.split('_')[1]);
return a;
},[[],[]]);
console.log(items);
相关文章:
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 有条件更新d3.js力图中节点的最佳方法
- 为react组件传递道具的最佳方式
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- Angularjs 1.5.x本地化最佳实践
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- MobileFirst:在客户端运行计时器作业-最佳选项
- 在ng重复循环中显示条件内容的最佳方式是什么
- 在phonegap中为android调用onload函数的最佳方式
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 从数组中删除元素的最佳方法是:javascript/jquery
- 链接两个网页或网络应用程序的最佳方式
- 什么's是连接供应商js文件的最佳方式
- Express服务器中语言子域的最佳实践
- 什么's是在javascript中迭代项的最佳方式
- javascript通过分隔符将数组一分为二的最佳方式