首页 > 解决方案 > 如何删除数组的空值,如果值不为空,则只显示数组并将其显示给用户

问题描述

我对这个问题有一些疑问,但我仍然没有找到方法,我想在这里提问。好的,问题是我想删除我所有的空数组而不显示到用户视图中,只显示非空数组,就像代码和结果一样:

const objectFruits = [
    {fruits: 'apple'},
    {fruits: 'banana'},
    {fruits: 'strawberry'},
    {fruits: 'manggo'},
];

const objectMyFavorite = [
    {fruits: 'apple'},
    {fruits: 'apple'},
    {fruits: 'banana'},
];

const getAllFruits = { fruits: objectFruits.map(item => item.fruits) }
const getAllMyFavorite = { fruits: objectMyFavorite.map(item => item.fruits) }

let myView = '';

for (let i = 0; i < getAllFruits['fruits'].length; i++) {
    const nameFruits = getAllFruits['fruits'][i];
    const filterMyFavorite = getAllMyFavorite['fruits'].filter(function (fruitss) {
        return fruitss == nameFruits
    });
    // and how I delete the empty and just show array if value is not null and show it to user
    myView += `
        <p>${filterMyFavorite.length == 0 ? `delete this array and delete this row and not show in user view` : `is not empty => expected (apple, apple) and (banana)`}</p>
    `;
}

document.getElementById("test").innerHTML = myView
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>test</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <div id="test">
        
    </div>
    <script src="script.js"></script>
  </body>
</html>

如果我的话有误,您可以再次指导我,谢谢

标签: javascript

解决方案


myView只有当值有效时,您才能追加:

if (filterMyFavorite.length > 0) {
  myView += `
     <p>Add  item here</p>
    `;
}

推荐阅读