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

Check if all elements in array are strings

本问题已经有最佳答案,请猛点这里访问。

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

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


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

1
2
3
function check(x) {
    return x.every(function(i){ return typeof i ==="string" });
}


您可以这样做——遍历数组并测试是否所有内容都是字符串。

1
2
3
4
5
6
7
8
9
function check(arr) {
 for(var i=0; i<arr.length; i++){
   if(typeof arr[i] !="string") {
      return false;
    }
 }

 return true;
}


我的方式:

1
2
3
4
5
6
7
8
9
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


像这样?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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');
}