Javascript 嵌套数组表示问题
Javascript nested for array represent issue
我有两个数组,它们与两个元素相交,如下所示。通常此函数应写为 A、B、Y 但它表示所有值 lista.length * listb.length
<script>
window.onload = function(){
var lista = [];
lista[0] = "A";
lista[1] = "B";
lista[2] = "Y";
var listb = [];
listb[0] = "A";
listb[1] = "B";
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
if(listb[j] == lista[i]){
document.write(listb[j] + "<br/>");
}else{
document.write(lista[i] + "<br/>");
}
}
}
}
</script>
您可以只打印外循环的元素
window.onload = function() {
var lista = ["A", "B", "Y"],
listb = ["A", "B"];
for (var i = 0; i < lista.length; i++) {
document.write(lista[i]);
for (var j = 0; j < listb.length; j++) {
if (listb[j] == lista[i]) {
document.write(" common");
break;
}
}
document.write("<br/>");
}
}
您需要等到内循环结束才能知道是否找到匹配项,而不是为每个 non-matching 元素打印 lista[i]
。
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
var found = false;
if(listb[j] == lista[i]){
document.write(listb[j] + "<br/>");
found = true;
break;
}
if (!found){
document.write(lista[i] + "<br/>");
}
}
}
试试这个
<script>
window.onload = function(){
var lista = [];
lista[0] = "A";
lista[1] = "B";
lista[2] = "Y";
var listb = [];
listb[0] = "A";
listb[1] = "B";
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
if(lista[i] == listb[j]){
document.write(listb[j] + "<br/>");
break
}else{
document.write(lista[i] + "<br/>");
break
}
}
}
}
</script>
我有两个数组,它们与两个元素相交,如下所示。通常此函数应写为 A、B、Y 但它表示所有值 lista.length * listb.length
<script>
window.onload = function(){
var lista = [];
lista[0] = "A";
lista[1] = "B";
lista[2] = "Y";
var listb = [];
listb[0] = "A";
listb[1] = "B";
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
if(listb[j] == lista[i]){
document.write(listb[j] + "<br/>");
}else{
document.write(lista[i] + "<br/>");
}
}
}
}
</script>
您可以只打印外循环的元素
window.onload = function() {
var lista = ["A", "B", "Y"],
listb = ["A", "B"];
for (var i = 0; i < lista.length; i++) {
document.write(lista[i]);
for (var j = 0; j < listb.length; j++) {
if (listb[j] == lista[i]) {
document.write(" common");
break;
}
}
document.write("<br/>");
}
}
您需要等到内循环结束才能知道是否找到匹配项,而不是为每个 non-matching 元素打印 lista[i]
。
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
var found = false;
if(listb[j] == lista[i]){
document.write(listb[j] + "<br/>");
found = true;
break;
}
if (!found){
document.write(lista[i] + "<br/>");
}
}
}
试试这个
<script>
window.onload = function(){
var lista = [];
lista[0] = "A";
lista[1] = "B";
lista[2] = "Y";
var listb = [];
listb[0] = "A";
listb[1] = "B";
for(var i=0; i<lista.length; i++){
for(var j=0; j<listb.length; j++){
if(lista[i] == listb[j]){
document.write(listb[j] + "<br/>");
break
}else{
document.write(lista[i] + "<br/>");
break
}
}
}
}
</script>