refactor flatten
This commit is contained in:
parent
328ae0769f
commit
59ebe873f7
1 changed files with 5 additions and 10 deletions
15
mithril.js
15
mithril.js
|
|
@ -394,17 +394,12 @@ Mithril = m = new function app(window, undefined) {
|
||||||
return nodes
|
return nodes
|
||||||
}
|
}
|
||||||
function flatten(data) {
|
function flatten(data) {
|
||||||
var index = 0;
|
//recursive flatten
|
||||||
loop: while (true) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
for (var i = index; i < data.length; i++) {
|
if (type.call(data[i]) == sArr) {
|
||||||
var item = data[i];
|
data = data.concat.apply([], data);
|
||||||
if (type.call(data[i]) == sArr) {
|
i-- //check current index again and flatten until there are no more nested arrays at that index
|
||||||
index = i;
|
|
||||||
data = data.concat.apply([], data);
|
|
||||||
continue loop
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break
|
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue