rsk*_*k82 12 javascript arrays
那是为了这个:
[ ['dog','cat', ['chicken', 'bear'] ],['mouse','horse'] ]
成:
['dog','cat','chicken','bear','mouse','horse']
Che*_*ent 25
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
return a.concat(b);
});
// flattened is [0, 1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
值得注意的是,IE 8及更低版本不支持reduce.
elc*_*nrs 23
在现代浏览器中,您可以在没有任何外部库的情况下执行此操作:
Array.prototype.flatten = function() {
return this.reduce(function(prev, cur) {
var more = [].concat(cur).some(Array.isArray);
return prev.concat(more ? cur.flatten() : cur);
},[]);
};
console.log([['dog','cat',['chicken', 'bear']],['mouse','horse']].flatten());
//^ ["dog", "cat", "chicken", "bear", "mouse", "horse"]
Run Code Online (Sandbox Code Playgroud)
Cra*_*g M 10
抓住underscore.js并使用flatten函数.
_.flatten([ ['dog','cat', ['chicken', 'bear'] ],['mouse','horse'] ]);
Run Code Online (Sandbox Code Playgroud)
这个班轮代码怎么样?
console.log([['dog', 'cat', ['chicken', 'bear']], [['mouse', 'horse'], 'lion']].join().split(','));Run Code Online (Sandbox Code Playgroud)
基本上连接将使逗号分隔的字符串从嵌套数组和使用拆分你可以得到1d数组,好吗?奖金它也适用于所有主流浏览器:)
ChewOnThis_Trident解决方案的小修复,它完美无缺:
Array.prototype.flatten = function() {
return this.reduce(function(a, b) {
return a.concat(b);
}, []);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14854 次 |
| 最近记录: |