reduce list
reduce list playground
by ozzymcduff
HTML
<link rel="stylesheet" href="//code.jquery.com/qunit/qunit-2.3.2.css">
<script src="//code.jquery.com/qunit/qunit-2.3.2.js"></script>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
JavaScript
function getList1(){
let user1 = {
id: 1,
firstName: "Malcolm",
lastName: "Reynolds",
subRows:[]
};
let user2 = {
id: 2,
firstName: "Richard",
lastName: "Reynolds",
subRows:[]
};
let user3 = {
id: 3,
firstName: "Evelyn",
lastName: "Reynolds",
subRows:[user1]
};
return [user2,user3];
}
var test = QUnit.test;
test("two elements and one subRow", function(assert) {
var list1=getList1();
var reduced = list1.reduce((memo, next)=>memo.concat(next.subRows), list1);
assert.equal(list1.length, 2, "list 1");
assert.equal(reduced.length, 3, "reduced");
});
test("empty array", function(assert) {
var list1=[];
var reduced = list1.reduce((memo, next)=>memo.concat(next.subRows), list1);
assert.equal(list1.length, 0, "list 1");
assert.equal(reduced.length, 0, "reduced");
});