JS Получить объект из массива и преобразовать его в строку - PullRequest
1 голос
/ 12 марта 2020

Я создаю al oop, который берет имя и сравнивает его со всеми значениями в массиве, останавливает и печатает имя и число, когда оно соответствует его значению. Поскольку значения являются объектами, я пытаюсь преобразовать объект в строку, используя toString (), но он возвращает только [объект Undefined] для меня.

let name = 'Mustafa';
let i = 0;
let para = document.createElement('p');

let phonebook = [
  { name : 'Chris', number : '1549' },
  { name : 'Li Kang', number : '9634' },
  { name : 'Anne', number : '9065' },
  { name : 'Francesca', number : '3001' },
  { name : 'Mustafa', number : '6888' },
  { name : 'Tina', number : '4312' },
  { name : 'Bert', number : '7780' },
  { name : 'Jada', number : '2282' },
]

i = 0
while (i < phonebook.length) {
  if (i === 4) {
  para.textContent = toString(phonebook[i]);
  } else {}

i++;
}

let section = document.querySelector('section');
section.appendChild(para);

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Вам не нужно некоторое время l oop, для этого используйте Array.find

И используйте литералы шаблона для отображения результата или JSON .stringify объект:

let name = "Mustafa";

let para = document.createElement("p");

let phonebook = [
  { name: "Chris", number: "1549" },
  { name: "Li Kang", number: "9634" },
  { name: "Anne", number: "9065" },
  { name: "Francesca", number: "3001" },
  { name: "Mustafa", number: "6888" },
  { name: "Tina", number: "4312" },
  { name: "Bert", number: "7780" },
  { name: "Jada", number: "2282" }
];

let obj = phonebook.find(e => e.name === name);

para.textContent = `name : ${obj.name} , number : ${obj.number}`;

// OR
// para.textContent = JSON.stringify(obj);

let section = document.querySelector("section");
section.appendChild(para);
<section></section>
0 голосов
/ 12 марта 2020

Используя метод JavaScript find, вы можете получить объект, соответствующий имени.

const contact = phonebook.find(item => item.name === name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...