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;我试试下面的方法
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);