当前位置:   article > 正文

递归方法清空多维数组中的指定元素为对应值(对象)_js递归删除多维数组对象中的某一项

js递归删除多维数组对象中的某一项

源码

  1. //【递归】说明:递归方法清空多维数组中的指定元素为对应值(对象)
  2. let clearNullElementsInArrayByProps = (arr, {
  3. props = {
  4. fieldName: `removed`,
  5. fieldValue: true,
  6. },
  7. } = {}) => {
  8. return (arr || []).filter(v => {
  9. if (v[props.fieldName] === props.fieldValue) {
  10. return false;
  11. } else {
  12. if (v.children) {
  13. v.children = clearNullElementsInArrayByProps (v.children, { props });
  14. return v.children.length > 0
  15. } else {
  16. return true;
  17. }
  18. }
  19. });
  20. }
  21. clearNullElementsInArrayByProps (数组或对象);

测试

  1. let arr = [
  2. {
  3. label: '显示文本1', children: [
  4. { label: '显示文本1-1', removed: true, },
  5. { label: '显示文本1-2', removed: 0, },
  6. { label: '显示文本1-3', removed: true, },
  7. { label: '显示文本1-4', removed: false, },
  8. { label: '显示文本1-5', },
  9. ],
  10. },
  11. {
  12. label: '显示文本1', removed: true,
  13. }
  14. ]
  15. clearNullElementsInArrayByProps (arr);
  16. /*
  17. 输出:
  18. [
  19. {
  20. "label": "显示文本1",
  21. "children": [
  22. {
  23. "label": "显示文本1-2",
  24. "removed": 0
  25. },
  26. {
  27. "label": "显示文本1-4",
  28. "removed": false
  29. },
  30. {
  31. "label": "显示文本1-5"
  32. }
  33. ]
  34. }
  35. ]
  36. */

入门级递归方法清空多维数组中的null元素(对象)-CSDN博客文章浏览阅读34次。【代码】递归方法清空多维数组中的null元素(对象)https://blog.csdn.net/qq_37860634/article/details/140830717

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/985832
推荐阅读
相关标签
  

闽ICP备14008679号