有没有一种好方法可以检查数组中的所有索引是否都是字符串?
check(["asd", 123]); // false
check(["asd", "dsa", "qwe"]); // true
答案 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