首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用for of循环和if..else语句迭代和检查数组

使用for of循环和if..else语句迭代和检查数组
EN

Stack Overflow用户
提问于 2018-03-26 16:14:48
回答 2查看 52关注 0票数 1

我正在尝试创建一个带有名称的数组,然后使用for of循环迭代它们,然后使用if else语句检查迭代。我的代码在下面,但是它没有工作,我没有看到结果。我试过了,同样糟糕的结果。在Html文件中,我有一个带演示id的副部曲和一个具有迭代和检查数组功能的按钮。

代码语言:javascript
复制
function availableName() {

 const check = document.getElementById('userID');
 const takenNames=['manuel','remus','manuel-remus','tomi','mirel'];
 const reservedNames=['cristina','angela','rusanda','costantin'];
 const givenNames=[...takenNames, ...reservedNames];

  for (givenName of givenNames) {
  if (givenName === check) {
      sayMessage=givenName +"Not available!";
 }
 else {
   sayMessage= givenName +"Available";
 }

 }
document.getElementById("available").innerHTML= sayMessage;
 };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-26 16:28:54

首先,您需要使用input获得.value的值,如注释中所述。

然后,要检查它在array中的存在,可以使用Array的内置方法之一,比如includes()indexOf()

这应该是您的代码:

代码语言:javascript
复制
function availableName() {
  const check = document.getElementById('userID').value;
  const takenNames = ['manuel', 'remus', 'manuel-remus', 'tomi', 'mirel'];
  const reservedNames = ['cristina', 'angela', 'rusanda', 'costantin'];
  const givenNames = [...takenNames, ...reservedNames];

  if (givenNames.indexOf(check) > 0) {
    sayMessage = check + " Not available!";
  } else {
    sayMessage = check + " Available";
  }
  document.getElementById("available").innerHTML = sayMessage;
};

演示:

这是一个演示:

代码语言:javascript
复制
function availableName() {
  //const check = document.getElementById('userID').value;
  const check = "cristina";
  const takenNames = ['manuel', 'remus', 'manuel-remus', 'tomi', 'mirel'];
  const reservedNames = ['cristina', 'angela', 'rusanda', 'costantin'];
  const givenNames = [...takenNames, ...reservedNames];

  if (givenNames.indexOf(check) > 0) {
    sayMessage = check + " Not available!";
  } else {
    sayMessage = check + " Available";
  }
  document.getElementById("available").innerHTML = sayMessage;
};

availableName();
代码语言:javascript
复制
<div id="available"></div>

票数 1
EN

Stack Overflow用户

发布于 2018-03-26 16:22:24

为什么不使用函数isInArray?

代码语言:javascript
复制
function isInArray(value, array) {
    return array.indexOf(value) > -1;
}

function availableName() {
const check = document.getElementById('userID');
 const takenNames=['manuel','remus','manuel-remus','tomi','mirel'];
 const reservedNames=['cristina','angela','rusanda','costantin'];
 const givenNames=[...takenNames, ...reservedNames];
for (givenName of givenNames) {
  if (isInArray(check, givenNames)) {
      sayMessage=givenName +"Not available!";
 }
 else {
   sayMessage= givenName +"Available";
 }

 }
document.getElementById("available").innerHTML= sayMessage;
 };
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49496029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档