前端页面,后端返回数据数组有3种卡1储蓄卡,2信用卡,3他行卡,怎么判断如果只有一种卡,,仅有信用卡的时候提示,三种都有不提示
2条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
在JavaScript中,如果你想在
for-in循环中检查一个数组是否只包含一种类型的卡片(例如,仅包含信用卡),可以使用以下方法:- 首先,定义一个名为
cardTypes的数组,其中包含所有可能的卡片类型(例如,"creditCard", "debitCard", "other卡")。
const cardTypes = ['creditCard', 'debitCard', 'other卡'];- 然后,在
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()方法用于检测一个元素是否存在于一个数组中,并返回布尔值。- 如果
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无用- 首先,定义一个名为