[英]How to remove Array inside subArray Null value Javascript using Filter
I want to remove itineraryLinked: null
value remove from the array. 我想删除
itineraryLinked: null
从数组中删除itineraryLinked: null
值。 I tried below code its not working can you please explain how to remove the null itineraryLinked from array 我在下面的代码中尝试了它不起作用,请您解释一下如何从数组中删除null itineraryLinked
Array inside subarray code remove null value remove from filter.. 子数组代码中的数组从过滤器中删除null值
I want to remove null or empty elements from an array using inside itineraries 我想使用内部行程从数组中删除null或空元素
This my josn 这是我的乔恩
let destinationList = [{ "name": "Bahamas", "slug": "bahamas", "description": "asdfsadf", "weekEnabled": false, "itineraries": [{ "name": "Les Bahamas - Archipel des Exumas", "slug": "les-bahamas-archipel-des-exumas", "itineraryLinked": null }], "featured": false, "future": false, "sort": 8, "minPrice": null }, { "name": "Croatie & Monténégro", "slug": "croatie-montenegro", "description": "avfdsaf", "thumbnail": "uploads/2019/02/2_croatie-thumbnail.jpg", "weekEnabled": true, "itineraries": [{ "name": "Croatie, la côte adriatique depuis Dubrovnik", "slug": "croatie-la-cote-adriatique-depuis-dubrovnik", "itineraryLinked": { "name": "Monténégro, les gorges du Kotor depuis Dubrovnik", "slug": "montenegro-les-gorges-du-kotor-depuis-dubrovnik" } }, { "name": "Monténégro, les gorges du Kotor depuis Dubrovnik", "slug": "montenegro-les-gorges-du-kotor-depuis-dubrovnik", "itineraryLinked": { "name": "Croatie, la côte adriatique depuis Dubrovnik", "slug": "croatie-la-cote-adriatique-depuis-dubrovnik" } } ], "featured": false, "future": false, "sort": 3, "minPrice": null }, { "name": "Guadeloupe", "slug": "guadeloupe", "description": "sdafsda", "thumbnail": "uploads/2019/02/guadeloupe-thumbnail.jpg", "weekEnabled": false, "itineraries": [{ "name": "Guadeloupe Marie Galante Les Saintes Antigua", "slug": "guadeloupe-marie-galante-les-saintes-antigua", "itineraryLinked": null }], "featured": false, "future": false, "sort": 6, "minPrice": null }, { "name": "St Barth & îles Vierges", "slug": "st-barth-iles-vierges", "description": "sadfdsagf", "thumbnail": "uploads/2019/04/st-barth-iles-vierges-thumbnail.jpg", "weekEnabled": true, "itineraries": [{ "name": "Iles Vierges, Tortola", "slug": "iles-vierges-tortola", "itineraryLinked": { "name": "Croisière Turquoise - Saint Martin, Saint Barth, Archipel d'Anguilla", "slug": "croisiere-turquoise-saint-martin-saint-barth-archipel-danguilla" } }, { "name": "Croisière Turquoise - Saint Martin, Saint Barth, Archipel d'Anguilla", "slug": "croisiere-turquoise-saint-martin-saint-barth-archipel-danguilla", "itineraryLinked": { "name": "Iles Vierges, Tortola", "slug": "iles-vierges-tortola" } } ], "featured": false, "future": false, "sort": 5, "minPrice": null }, { "name": "Côte d'Azur", "slug": "cote-dazur", "description": "sadf", "thumbnail": "uploads/2018/11/cote-dazur-thumbnail.jpg", "weekEnabled": null, "itineraries": [{ "name": "Côte d'Azur des îles d'Or aux îles de Lérins", "slug": "cote-dazur-des-iles-dor-aux-iles-de-lerins", "itineraryLinked": null }], "featured": false, "future": false, "sort": 1, "minPrice": null } ] let linkedItinery = destinationList.filter(function(element) { return element.itineraries.filter(function(subElement) { return element.itineraries.some(function(v) { return v.itineraryLinked !== null; }); }); }); console.log(linkedItinery)
There is no need of some
within the filter
. filter
内不需要some
filter
。 You can use use reduce
with filter
inside it. 您可以在其中使用带
filter
use reduce
。
let destinationList = [{ "name": "Bahamas", "slug": "bahamas", "description": "asdfsadf", "weekEnabled": false, "itineraries": [{ "name": "Les Bahamas - Archipel des Exumas", "slug": "les-bahamas-archipel-des-exumas", "itineraryLinked": null }], "featured": false, "future": false, "sort": 8, "minPrice": null }, { "name": "Croatie & Monténégro", "slug": "croatie-montenegro", "description": "avfdsaf", "thumbnail": "uploads/2019/02/2_croatie-thumbnail.jpg", "weekEnabled": true, "itineraries": [{ "name": "Croatie, la côte adriatique depuis Dubrovnik", "slug": "croatie-la-cote-adriatique-depuis-dubrovnik", "itineraryLinked": { "name": "Monténégro, les gorges du Kotor depuis Dubrovnik", "slug": "montenegro-les-gorges-du-kotor-depuis-dubrovnik" } }, { "name": "Monténégro, les gorges du Kotor depuis Dubrovnik", "slug": "montenegro-les-gorges-du-kotor-depuis-dubrovnik", "itineraryLinked": { "name": "Croatie, la côte adriatique depuis Dubrovnik", "slug": "croatie-la-cote-adriatique-depuis-dubrovnik" } } ], "featured": false, "future": false, "sort": 3, "minPrice": null }, { "name": "Guadeloupe", "slug": "guadeloupe", "description": "sdafsda", "thumbnail": "uploads/2019/02/guadeloupe-thumbnail.jpg", "weekEnabled": false, "itineraries": [{ "name": "Guadeloupe Marie Galante Les Saintes Antigua", "slug": "guadeloupe-marie-galante-les-saintes-antigua", "itineraryLinked": null }], "featured": false, "future": false, "sort": 6, "minPrice": null }, { "name": "St Barth & îles Vierges", "slug": "st-barth-iles-vierges", "description": "sadfdsagf", "thumbnail": "uploads/2019/04/st-barth-iles-vierges-thumbnail.jpg", "weekEnabled": true, "itineraries": [{ "name": "Iles Vierges, Tortola", "slug": "iles-vierges-tortola", "itineraryLinked": { "name": "Croisière Turquoise - Saint Martin, Saint Barth, Archipel d'Anguilla", "slug": "croisiere-turquoise-saint-martin-saint-barth-archipel-danguilla" } }, { "name": "Croisière Turquoise - Saint Martin, Saint Barth, Archipel d'Anguilla", "slug": "croisiere-turquoise-saint-martin-saint-barth-archipel-danguilla", "itineraryLinked": { "name": "Iles Vierges, Tortola", "slug": "iles-vierges-tortola" } } ], "featured": false, "future": false, "sort": 5, "minPrice": null }, { "name": "Côte d'Azur", "slug": "cote-dazur", "description": "sadf", "thumbnail": "uploads/2018/11/cote-dazur-thumbnail.jpg", "weekEnabled": null, "itineraries": [{ "name": "Côte d'Azur des îles d'Or aux îles de Lérins", "slug": "cote-dazur-des-iles-dor-aux-iles-de-lerins", "itineraryLinked": null }], "featured": false, "future": false, "sort": 1, "minPrice": null } ]; const output = destinationList.reduce((accu, {itineraries}) => { accu.push(...itineraries.filter(({itineraryLinked}) => itineraryLinked !== null)); return accu; }, []); console.log(output);
Map over the collection 映射集合
let linkedItinery = destinationList.map(function(element) {
// ...
Filter out the subDocuments (with null values)
element.itineraries = element.itineraries.filter(function(subElement) {
return subElement.itineraryLinked !== null;
});
// Replace the original doc
return element;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.