Javascript 如何防止在数组中打印除其他值以外的当前值

Javascript 如何防止在数组中打印除其他值以外的当前值,javascript,arrays,for-loop,Javascript,Arrays,For Loop,如何防止当前值打印在数组中?我的意思是,如果我有一个类似这样的数组 var fruits = ['Banana', 'Grapes', 'Apples', 'Orange']; 我正在循环使用for循环类似的东西: fLen = fruits.length; text = "<ul>"; for (i = 0; i < fLen; i++) { text += "<li>" + fruits[i] + "</li>"; for (j

如何防止当前值打印在数组中?我的意思是,如果我有一个类似这样的数组

var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
我正在循环使用for循环类似的东西:

fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
    text += "<li>" + fruits[i] + "</li>";

    for (j = 0; j<fLen; j++) {
    text+=fruits[j];
    }
}

text += "</ul>";
但是,

我想要的是:

我想要像这样的输出

Banana
Grapes Apples Orange 
Grapes
Banana Apples Orange 
Apples
Banana Grapes Orange 
Orange
Banana Grapes Apples
表示当前值不应出现在其第二个输出中

fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
    text += "<li>" + fruits[i] + "</li>";

    for (j = 0; j<fLen; j++) {
        if (j != i) {
            text+=fruits[j];
        }
    }
}

text += "</ul>";

只需勾选跳过当前索引,在您的情况下是i

为每次迭代复制数组,即在循环中复制4次,连续弹出不同的前导元素,然后打印其余的

var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
for (i=0;i<fruits.length;i++){
var temp=fruits;
var leader=temp.pop(fruits[i]);
//print leader
for(int j=0;j<temp.length;j++){
  //print temp[j]
}
}
只需添加一个if条件,检查两个循环的索引是否与第二个for循环相同

var水果=[‘香蕉’、‘葡萄’、‘苹果’、‘橙子’]; fLen=果实长度; 文本=; 对于i=0;我您只能使用以下命令执行一个循环:

变量水果=['香蕉','葡萄','苹果','橙子'], 结果=水果。还原AC、val、ind、arr=>{ acc+=`${val}`+arr.join'。替换val,.trim; 如果++ind==arr.length{ acc+=; } 返回acc; }, ; document.getElementById'output'.innerHTML=result; li{列表样式:无;}
试试下面的方法

var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
var text = '<ul>';
fruits.forEach(function (element, index, array) {
  text += '<li>'+ element+'</br>';
  var newArray = array.map(function (element2, index2) {
    if(index != index2) {
      text += element2 + ' ';
    }
  });
  text +='</li>';
});
text += '</ul>';
为什么这么复杂:

var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
var text=`<ul>${fruits.map(e=>`<li>${e}</li>${fruits.filter(k => k!=e ? k : '')}`)}</ul>`.replace(/,/g, " ");
console.log(text);

如果我想在acc内运行If-else循环,这样做对吗that@user7791702在代码中应用您的建议以保持清晰。。谢谢
var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
var text = '<ul>';
fruits.forEach(function (element, index, array) {
  text += '<li>'+ element+'</br>';
  var newArray = array.map(function (element2, index2) {
    if(index != index2) {
      text += element2 + ' ';
    }
  });
  text +='</li>';
});
text += '</ul>';
var fruits = ['Banana', 'Grapes', 'Apples', 'Orange'];
var text=`<ul>${fruits.map(e=>`<li>${e}</li>${fruits.filter(k => k!=e ? k : '')}`)}</ul>`.replace(/,/g, " ");
console.log(text);