检查数组中的所有元素是否都是字符串

Check if all elements in array are strings

本文关键字:是否 字符串 元素 数组 检查      更新时间:2023-09-26

有没有一个好的方法来检查数组中的所有索引是否都是字符串?

check(["asd", 123]); // false
check(["asd", "dsa", "qwe"]); // true

您可以使用Array.every来检查是否所有元素都是字符串。

const isStringsArray = arr => arr.every(i => typeof i === "string")
console.log( 
  isStringsArray(['a','b','c']),
  isStringsArray(['a','','c']),
  isStringsArray(['a', ,'c']),
  isStringsArray(['a', undefined,'c']),
  isStringsArray(['a','b',1]) 
)

您可以执行类似的操作-遍历数组并测试所有内容是否都是字符串。

function check(arr) {
 for(var i=0; i<arr.length; i++){
   if(typeof arr[i] != "string") {
      return false;
    }
 }
 return true;
}

类似的东西?

var data = ["asd", 123];
function isAllString(data) {
    var stringCount;
    for (var i = 0; i <= data.length; i++) {
        if (typeof data[i] === 'string')
            stringCount++;
    }
    return (stringCount == data.length);
}
if (isAllString(data)) {
    alert('all string');
} else {
    alert('check failed');
}

我的方式:

check=function(a){
    for ( var i=0; i< a.length; i++ ) {
        if (typeof a[i] != "string")
            return false;
    };
    return true;
}
console.log(check(["asd","123"])); // returns true
console.log(check(["asd",123])); // returns false