簡體   English   中英

如何在數組上添加項目並替換數組上的項目?

[英]How do I add item on array and replace item on array?

編寫一個程序來填充客人名單。 如果客人被邀請,請讓客人入場; 如果沒有,把它放在垃圾上。

我的代碼:

const admit = document.getElementById("admit");
const refuse = document.getElementById("refuse");
admit.textContent = "Admit: ";
refuse.textContent = "Refuse: ";
const people = [
  "Chris",
  "Anne",
  "Colin",
  "Terri",
  "Phil",
  "Lola",
  "Sam",
  "Kay",
  "Bruce",
];

for (let i = 0; i < people.length; i++) {
  if (people[i] === "Phil" || people[i] === "Lola") {
    refuse.textContent += people[i] + ",";
  } else {
    admit.textContent += people[i] + ", ";
  }
}

我得到了程序的工作。

Admit:  Chris, Anne, Collin,Terri,Sam,Kay,
Refuse:  Phil,Lola,

但我正在嘗試解決如何添加and替換,. .

這是我想要的 output:

Admit:  Chris, Anne, Collin,Terri, Sam, Kay, and Bruce.
Refuse:  Phil and Lola.

 const people = ['Chris', 'Anne', 'Colin', 'Terri', 'Phil', 'Lola', 'Sam', 'Kay', 'Bruce']; const admit = []; const refuse = []; for (let person of people) { (person === 'Phil' || person === 'Lola'? refuse: admit).push(person); } const toText = (array) => { let multipleNames = array.length > 1; return `${array.slice(0, -1).join(", ")}${multipleNames? " and ": ""}${array.slice(-1)[0]}.`; }; admit.textContent = `Admit: ${toText(admit)}`; refuse.textContent = `Refuse: ${toText(refuse)}`; console.log(admit.textContent); console.log(refuse.textContent);

你可以試試下面的代碼。 有條件地添加 and 和逗號。

const admit = document.getElementById('admit');
const refuse = document.getElementById('refuse');
admit.textContent = 'Admit: ';
refuse.textContent = 'Refuse: ';
const people = ['Chris', 'Anne', 'Colin', 'Terri', 'Phil', 'Lola', 'Sam', 'Kay', 'Bruce'];

for (let i = 0; i <= people.length; i++) {
if (people[i] === 'Phil' || people[i] === 'Lola') {
      refuse.textContent += (refuse.length == 1) ' and ' + people[i] : people[i];
  }else{
      admit.textContent += (people.length == i) ' and ' + people[i] : people[i] + ',';
  }
}

試試這個:

const admit = document.getElementById("admit");
const refuse = document.getElementById("refuse");
admit.textContent = "Admit: ";
refuse.textContent = "Refuse: ";
const people = ["Chris", "Anne", "Colin", "Terri", "Phil", "Lola", "Sam", "Kay", "Bruce"];
let refusedPeople = [];
let admitedPeople = [];
people.forEach((person) => {
  person === "Phil" || person === "Lola" ? refusedPeople.push(person) : admitedPeople.push(person);
});

const genrateConcatString = (arr, person, index) => {
  let text = "";
  if (index === arr.length - 1) {
    arr.length === 1 ? (text += person + ".") : (text += " and " + person + ".");
  } else {
    index === arr.length - 2 ? (text += person) : (text += person + ", ");
  }
  return text;
};
refusedPeople.forEach((person, index) => {
  refuse.textContent += genrateConcatString(refusedPeople, person, index);
});

admitedPeople.forEach((person, index) => {
  admit.textContent += genrateConcatString(admitedPeople, person, index);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM