JSFiddle - React, Tailwind, and code Playground

by ksumarine

HTML

<script src="https://code.jquery.com/jquery-2.2.0.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/linq.js/2.2.0.2/jquery.linq.min.js"></script>

JavaScript

var arr = [
	{id:1, archived:false,children:[
		{id:1,archived:true, subs:[
			{id:1,archived:true},
			{id:2,archived:true},
			{id:3,archived:true}
		]},
		{id:2,archived:false, subs:[
			{id:1,archived:false},
			{id:2,archived:false},
			{id:3,archived:true}
		]}
	]},
	{id:2, archived:true,children:[
		{id:1,archived:true, subs:[
			{id:1,archived:true},
			{id:2,archived:true},
			{id:3,archived:true}
		]},
		{id:2,archived:true, subs:[
			{id:1,archived:true},
			{id:2,archived:true},
			{id:3,archived:true}
		]}
	]}
];

var filteredArr = $.Enumerable.From(arr)
	.Where(function(x){
		return x.archived===false; // this only filters out the top level
	})
	.Select()
	.ToArray();
	
console.log(JSON.stringify(filteredArr))