Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将字符串视为字符数组-如何更改?_Javascript_Arrays_String_Char - Fatal编程技术网

javascript将字符串视为字符数组-如何更改?

javascript将字符串视为字符数组-如何更改?,javascript,arrays,string,char,Javascript,Arrays,String,Char,在我的项目中,我从外部服务器下载了一些数据——这些数据是以数组的形式存在的。有时在这个数组中只有1个值。例如: 正如您在本例中看到的,我有一个数组,它由5个数组组成。我感兴趣的数据位于myArray[1][0]中。如您所见,该数组中只有1个值,它是:“20161205022” 现在,因为我不总是只得到1个值,所以我这样做: for (var i = 0 ; i < myArray[1][0].length ; i++) { console.log(myArray[1][0][i]

在我的项目中,我从外部服务器下载了一些数据——这些数据是以数组的形式存在的。有时在这个数组中只有1个值。例如:

正如您在本例中看到的,我有一个数组,它由5个数组组成。我感兴趣的数据位于
myArray[1][0]
中。如您所见,该数组中只有1个值,它是:“20161205022”

现在,因为我不总是只得到1个值,所以我这样做:

for (var i = 0 ; i < myArray[1][0].length ; i++) {
    console.log(myArray[1][0][i]);
}

为什么会这样?奇怪的是,当
myArray[1][0]
有更多的值(例如:[“25”、“35”、“64”、“58”])时,它们的解释是正确的,而不是逐位的。

之所以会这样,是因为JavaScript字符串具有
length
属性,并且它们支持使用
[]
对其进行索引

您需要检测源是否给了您字符串或数组。1您可以使用
typeof

if (typeof myArray[1][0] === "string") {
    // It's a string
} else {
    // It isn't
}
如果您想进一步检查是否有“not”情况下的数组,可以使用新的(ish)
array.isArray
(在旧浏览器上是可填充的)



1或者,如果您对来源有任何控制权或有能力向这些人发送反馈,请修复来源/告诉他们修复来源,使其保持一致。

您应该参考此示例,您的问题将得到解决

var myArray=新数组(5);
myArray[1]=新数组(1);
myArray[1][0]=20161205022;
var div1=document.getElementById('ht');
函数myfun(){
对于(var i=0;i”;
}
}
myfun()

因此,您可能可以在外部数组中使用数组或字符串。?您能否在打印myArray[1][0]时发布您得到的内容?我将在周一检查您的解决方案。不幸的是,我不能早点看这个。我会在测试时给出反馈。谢谢
if (typeof myArray[1][0] === "string") {
    // It's a string
} else {
    // It isn't
}