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");
});