Строка JavaScript - PullRequest
       4

Строка JavaScript

0 голосов
/ 24 апреля 2020

У меня есть вопрос относительно javascript, я хочу написать функцию для вывода, подобного этому примеру:

input:

["Enter uid1234 Muzi", "Enter uid4567 Prodo", "Leave uid1234", "Enter uid1234 Prodo", "Change uid4567 Ryan"]

answer:

["Prodo came in.", "Ryan came in.", "Prodo has left.", "Prodo came in."]

Я пишу такую ​​функцию

function solution([enters, id, name], [enters, id, name]) {

  for (let i = 0; i < solution.length; i++) {
    if (enters === "leave") {
      console.log(`${name} ${id} is leaving`)
    }
  }
}

solution(["leave", "uid23", "test"], ["leave", "uid23", "tester2"]);
//result "test uid23 is leaving"

(я хочу, чтобы он также показал tester2.)

, но он просто показывает первый массив выходных данных решения, как сделать его похожим на Примеры?? Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Возможно, вы захотите попробовать более современный (es20xx) подход (используя шаблонный литерал для вывода и Array.reduce для преобразования исходного Array в Array из строк, которые вам нужны).

const status = [
  "Enter uid1234 Muzi", 
  "Enter uid4567 Prodo", 
  "Leave uid1234", 
  "Enter uid1234 Prodo", 
  "Change uid4567 Ryan"];
// helper method to create string from status element
const determineState = str => {
  const state = str.split(/\s/);
  return `${state[2] || "Unknown?"} (${state[1]}) ${
    state[0] === "Enter" ? "came in" : "is leaving"}`;
};
const result = status
  .reduce( (acc, val) => [...acc, determineState(val)], []);
//                                ^ Helper function creates string
console.log(result);
0 голосов
/ 24 апреля 2020

function solution([enters, id, name]) {

  for (let i = 0; i < solution.length; i++) {
    if (enters === "leave") {
      console.log(`${name} ${id} is leaving`)
    }
  }
}
 

solution(["leave", "uid23", "test"]);
solution(["leave", "uid23", "tester2"]);
//result "test uid23 is leaving"

если у вас более 1 входа, вы можете использовать для l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...