【问题标题】:How do i check if an array contains integar如何检查数组是否包含整数
【发布时间】:2020-09-08 03:30:56
【问题描述】:

我正在尝试遍历一个数组并检查它是否包含一个整数,但我无法让它工作,我不明白为什么。我必须使用map方法吗?

我的代码是这样的:

 let words = ['Dog', 'Zebra', 'Fish'];


    for(let i = 0; i <= words.length; i++){

        if(typeof words[i] === String){

            console.log('It does not contain any Numbers')
        }
        else{
            let error = new Error('It does contain Numbers')
            console.log(error)
        }
    } 

【问题讨论】:

标签: javascript arrays for-loop if-statement int


【解决方案1】:

检查单词数组:

words.includes(int);

【讨论】:

    【解决方案2】:

    我不是 javascript 专家,但是呢:

     isNaN(words[i]) 
    

    而不是 typeof 调用?

    我从一个类似的问题中得到这个:(Built-in) way in JavaScript to check if a string is a valid number

    【讨论】:

      【解决方案3】:

      如果你只需要检查数组中是否有整数,你可以使用some方法:

      let words = ['Dog', 'Zebra', 'Fish'];
      var result = words.some(val=>isFinite(val));
      console.log(result);

      some 将相应地返回 truefalse。在这种情况下,它将为 false,因为数组中没有数字。

      【讨论】:

        【解决方案4】:

        您可以为此使用以下内置 javascript 函数

        isNaN(value) //It will returns true if the variable is not a valid number
        

        例子:

        isNaN('Dog') //it will return true as it is not a number
        isNaN('100') //it will false as its a valid number
        

        你可以这样做:

        isNaN(words[i])
        

        【讨论】:

          【解决方案5】:
          1. 您应该检查 === "string"
          2. 请注意,您的 for 循环必须是

          您的代码应如下所示:

              let words = ['Dog', 'Zebra', 'Fish'];
          
              for (let i = 0; i < words.length; i++) {
                if (typeof words[i] === "string") {
                  console.log('It does not contain any Numbers')
                } else {
                  let error = new Error('It does contain Numbers')
                  console.log(error)
                }
              } 

          【讨论】:

            【解决方案6】:

            这是我对可能解决方案的贡献:

            let arr = ["Susan", "John", "Banana", 32];
            
            // Option 1
            arr.map(item => typeof item)
            
            // Option 2
            arr.map(item => console.log("Array item: ", item, "is a", typeof item))
            
            // Option 3
            arr.map(item => {
                if(typeof item === "string") {
                    console.log("Item is a string");
                } else {
                    let error = new Error("Item contains numbers")
                    console.error(`%c${error}`, "color: red; font-weight: bold" );
                }
            })
            

            【讨论】:

              猜你喜欢
              • 2012-11-27
              • 1970-01-01
              • 2012-09-14
              • 1970-01-01
              • 1970-01-01
              • 2022-01-22
              • 2012-01-10
              • 1970-01-01
              • 2017-05-03
              相关资源
              最近更新 更多