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

时间:2014-11-11 17:45:32

标签: javascript arrays

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

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

4 个答案:

答案 0 :(得分:19)

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

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

答案 1 :(得分:2)

你可以做这样的事情 - 遍历数组并测试一切是否为字符串。

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

 return true;
}

答案 2 :(得分:0)

这样的东西?

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');
}

答案 3 :(得分:0)

我的方式:

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