qq_57159670 2024-03-30 16:07 采纳率: 66.7%
浏览 2
已结题

前端foreach循环遍历数组时

前端页面,后端返回数据数组有3种卡1储蓄卡,2信用卡,3他行卡,怎么判断如果只有一种卡,,仅有信用卡的时候提示,三种都有不提示

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-30 16:07
    关注

    引自免费微信小程序:皆我百晓生

    在JavaScript中,如果你想在for-in循环中检查一个数组是否只包含一种类型的卡片(例如,仅包含信用卡),可以使用以下方法:

    1. 首先,定义一个名为cardTypes的数组,其中包含所有可能的卡片类型(例如,"creditCard", "debitCard", "other卡")。
    const cardTypes = ['creditCard', 'debitCard', 'other卡'];
    
    1. 然后,在for-in循环内部,通过Array.prototype.includes()方法检查每个元素是否存在于cardTypes数组中:
    let hasOnlyCreditCard = false;
    for (let i = 0; i < array.length; i++) {
        if (array[i] === cardTypes[0]) {
            hasOnlyCreditCard = true;
            break;
        }
    }
    

    在这段代码中,array是被迭代的对象,即包含要检查的卡片类型数组的副本。Array.prototype.includes()方法用于检测一个元素是否存在于一个数组中,并返回布尔值。

    1. 如果hasOnlyCreditCard变量为true,表示只有一个类型的卡片,你可以使用JavaScript的console.log()函数输出相应的提示消息。以下是一个示例:
    console.log(`The array contains only one type of card: ${hasOnlyCreditCard ? 'Credit Card' : 'Other card'}.`);
    

    这段代码会打印出:"The array contains only one type of card: Credit Card."

    注意:在实际应用中,如果你的数据结构可能包含了多种类型的卡片,并且你想要在遍历时保持这些类型的完整性,你可能需要将cardTypes数组转换为一个更可读的格式,例如,将所有的卡片类型作为一个对象,然后在循环内部检查该对象是否存在:

    const cards = {
        creditCard: 'creditCard',
        debitCard: 'debitCard',
        otherCard: 'otherCard'
    };
    
    let hasOnlyCreditCard = false;
    for (let i = 0; i < array.length; i++) {
        if (cards[array[i]]) {
            hasOnlyCreditCard = true;
            break;
        }
    }
    

    在这个例子中,cards对象代表了数组中的卡片类型,然后Array.prototype.includes()方法用于检查卡片类型的属性是否存在,而不是直接比较其类型本身。这样做的目的是为了保持对象属性的完整性,即使元素的实际类型可能发生变化。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月25日
  • 已采纳回答 4月25日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?
  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库