Вывод текста js

91
21 июня 2019, 15:30

У меня есть строка в json файле:

"Sotrudniki": "Петров (с 2012-05-05)\n" +"Иванов (с 2012-05-05)\n" +"Сидоров (с 2012-11-07)"

Как сделать вывод только первой строки: Петров (с 2012-05-05), позже внизу появится кнопка показать всех, на которую нажимая можно увидеть остальных.

Answer 1
var data = {"Sotrudniki": "Петров (с 2012-05-05)\n" + "Иванов (с 2012-05-05)\n" + "Сидоров (с 2012-11-07)"}
console.log(data.Sotrudniki.split("\n")[0])

В json вроде не может быть операций типа сложения.

Answer 2

console.log('"Петров (с 2012-05-05)\n" +"Иванов (с 2012-05-05)\n" +"Сидоров (с 2012-11-07)"'.replace('\n', '').split('+')[0])

Answer 3

Возможно более удобным будет следующий алгоритм работы с json-файлом.

  • Прочитать файл с помощью fetch или xhr
  • Получить из его содержимого объект или массив объектов.
  • Обработать полученные данные средствами javascript

const container = document.querySelector('.container'); 
 
fetch('http://jsonplaceholder.typicode.com/users') 
  .then(res => res.json()) 
  .then(users => { 
    showFirst(users, container); 
  }) 
  .catch(err => { 
    throw err; 
  }); 
 
function showFirst(users, container) { 
  addUser(users[0], container); 
  const showMoreButton = addShowMoreButton(container); 
  showMoreButton.addEventListener( 
    'click', 
    showAllUsers.bind( 
      undefined, 
      container, 
      showMoreButton, 
      users 
    ) 
  ); 
} 
 
function addUser(user, container) { 
  const userBox = document.createElement('div'); 
  userBox.innerHTML = ` 
  <p>Name: <span>${user.name}</span></p> 
  <p>Email: <span>${user.email}</span></p> 
  `; 
  container.appendChild(userBox); 
  return userBox; 
} 
 
function addShowMoreButton(container) { 
  const showMoreButton = document.createElement('button'); 
  showMoreButton.innerText = 'Show more...'; 
  container.appendChild(showMoreButton); 
  return showMoreButton; 
} 
 
function removeElement(element) { 
  element.parentNode.removeChild(element); 
} 
 
function showAllUsers(container, showMoreButton, users) { 
  removeElement(showMoreButton); 
  for (let i = 1; i < users.length; i++) { 
    addUser(users[i], container); 
  } 
}
<div class="container"></div>

READ ALSO
Как сделать чтоб это заработало?

Как сделать чтоб это заработало?

Почему вот так работает

91
Синтез речи на Node.js

Синтез речи на Node.js

Как можно сделать синтез речи(То-есть пишешь текст, а программа этот текст говорит) на node jsЯ нашел один модуль say, но при работе данной программы

98
Валидация данных JavaScript

Валидация данных JavaScript

Практикуюсь в JS, решил попробовать написать валидацию и со старта столкнулся с проблемойВот так всё работает, и страница не перезагружается

109