我有一个包含另一个数组和字符串的数组:
var text;
var languageSet = ["Language4", "Language5"];
var languages = [
["Language1", "Language2", "Language3"],
languageSet,
"Language6"
];
(function selector() {
for (i = 0; i < languages.length; i++) {
for (j = 0; j < languages[i].length; j++) {
text += "<option value='" + languages[i][j] + "'>" + languages[i][j] + "</options>";
}
}
document.getElementById("languageOptions").innerHTML = text;
})();
HTML:
<select id="languageOptions">
</select>
但每次我运行时,&#34;语言6&#34;的输出最终成为这样:
L
a
n
g
u
a
g
e
6
如何输出整个字符串?我不知道为什么我的代码对数组中的字符串和数组不起作用。
答案 0 :(得分:2)
您应该进行类型检查以查看您的项目是否为数组,然后循环数组。我在这里使用Array.isArray来进行类型检查。代码示例正在为您进行测试。
如果对象是数组,则Array.isArray()方法返回true,否则返回false。
$ python
Python 2.7.10 (default, Aug 22 2015, 20:33:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymongo
>>> import mongoengine
>>>
&#13;
var text;
var languageSet = ["Language4", "Language5"];
var languages = [
["Language1", "Language2", "Language3"],
languageSet,
"Language6"
];
(function selector() {
for (i = 0; i < languages.length; i++) {
if (Array.isArray(languages[i])) {
for (j = 0; j < languages[i].length; j++) {
text += "<option value='" + languages[i][j] + "'>" + languages[i][j] + "</options>";
}
} else {
text += "<option value='" + languages[i] + "'>" + languages[i] + "</options>";
}
}
document.getElementById("languageOptions").innerHTML = text;
})();
&#13;
答案 1 :(得分:1)
使用Array.isArray()函数检查循环内的类型。
from sage.all import *
import numpy as np
import random
import sage.all
def __NewTable__(C):
A=np.array_str(C)
word=""
MS=[]
for letter in A:
if letter==')':
word=''.join(letter)
MS.append(word)
word=""
else:
word=''.join(letter)
return MS
length=int(raw_input("Give length of linear code"))
dimention=int(raw_input("Give the dimention"))
FF=int(raw_input("Give the finite field in which you want to work in"))
C = codes.ReedSolomonCode(length, dimention, GF(FF, "x"))
MS=__NewTable__(C)
print MS