Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
3 / 3 / 1
Регистрация: 22.06.2016
Сообщений: 191

Используя массив объектов, описать телефонную книгу

18.11.2018, 00:37. Показов 2458. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Опишите используя массив объектов телефонную книгу. Вывести список абонентов, имеющих телефонный номер, начинающийся на 33.
1) Можно ли с помощью find вывести не первое попадание в условие, а все?

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
</head>
 
<body>
<h1></h1>
 
 
<script>
 
 
 
var tel=[{name:"Denis", phone:3345},
{name:"Igor", phone:3545},
{name:"Pavel", phone:3145},
{name:"Danila", phone:3945},
{name:"Andrey", phone:3322},
]
 
var found = tel.find(function(element) {
  return element = 33;
});
 
console.log(found);
 
</script>
 
 
</body>
 
 
 
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2018, 00:37
Ответы с готовыми решениями:

Опишите, используя массив объектов, таблицу дат и событий русской истории.
Задание: Опишите, используя массив объектов, таблицу дат и событий русской истории. Составьте программу, выдающую список событий XIX...

Используя массив, создать телефонную книгу
используя массив создать тел книгу,вводим имя и должен выйти телефон....на С++ если получитсЯ то по подробней...никак догнать не могу.......

описать , используя структуру данных запись, телефонную книгу. Составить программу, выдающую список абонентов, имеющих телефоный номер, начинающийся н
описать , используя структуру данных запись, телефонную книгу. Составить программу, выдающую список абонентов, имеющих телефоный номер,...

5
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.11.2018, 01:10
Цитата Сообщение от Dirt2846 Посмотреть сообщение
Можно ли с помощью find
Если вы читали описание метода, то вопрос должен был бы отпасть сам собой. Есть другие варианты, например, метод filter()

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от Dirt2846 Посмотреть сообщение
return element = 33;
Оно у вас хоть как-то работало? ))

0
3 / 3 / 1
Регистрация: 22.06.2016
Сообщений: 191
18.11.2018, 01:46  [ТС]
Тогда есть вот такая идея, но он выводит пустой массив. lenght = 0;

с "find" "работало" только с первым совпадением по свойству.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
 
<head>
    <meta charset="utf-8">
</head>
 
<body>
<h1></h1>
 
 
<script>
 
 
 
var tel=[{name:"Denis", phone:3345},
{name:"Igor", phone:3545},
{name:"Pavel", phone:3145},
{name:"Danila", phone:3945},
{name:"Andrey", phone:3322},
]
 
var positiveArr = tel.filter(function(number) {
    if (  ( number.phone.length == 4 ) && ( number.phone.substr(0,2)) ) {
    return number;
    }
})
console.log( positiveArr );
 
</script>
 
 
</body>
 
 
 
</html>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
18.11.2018, 02:34
Лучший ответ Сообщение было отмечено Dirt2846 как решение

Решение

Dirt2846, если сопоставить условие вашей задачи с тем, что вы пишите в коде, то у меня что-то не складываются пазлы.
JavaScript
1
let filtered = tel.filter(el => /^33/.test(el.phone)).map(el => el.name);
Добавлено через 15 минут
Можно выбрать какой-то более привычный лично вашему глазу способ. Например, так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const filtered = [];
tel.forEach(el => {
  if (/^33/.test(el.phone)) {
    filtered.push(el.name);
  }
});
 
// или более привычную проверку, напр., indexOf
const filtered = [];
for (let el of tel) {
  if (el.phone.toString().indexOf('33') === 0) {
    filtered.push(el.name);
  }
}
 
/*
или пусть, даже как у вас, с помощью substr,
но применять метод к строке и 
сравнивать полученную подстроку, 
а не просто её получать
*/
 
const filtered = [];
for (let el of tel) {
  if (('' + el.phone).substr(0,2) === '33') {
    filtered.push(el.name);
  }
}
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
18.11.2018, 16:00
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        class Abonent {
            constructor(name, phone) {
                this.name = name;
                this.phone = phone;
            }
        }
 
        let tel = [new Abonent("Denis", "3345"),
        new Abonent("Igor", "3545"),
        new Abonent("Pavel", "3145"),
        new Abonent("Danila", "3945"),
        new Abonent("Andrey", "3322")
        ];
 
        let filtered = tel.filter(e => e.phone.startsWith("33"));
        console.log(filtered);
    </script>
</body>
</html>
1
3 / 3 / 1
Регистрация: 22.06.2016
Сообщений: 191
18.11.2018, 18:59  [ТС]
Lazy_Den, Спасибо вам большое за комментарии и помощь.
Получается ошибка была в том что, я сравнивал числа с строками + делал лишнюю проверку на количество символов в строке, который метод и сам умеет делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2018, 18:59
Помогаю со студенческими работами здесь

Еще раз про телефонную книгу
Здравствуйте. Прошу прощения что вновь поднимается эта тема, но нечего путного не нашёл. К сожалению я не селен в MS Access и VBA...

Добавить нового клиента в телефонную книгу
Не работает таблица в форме,проект в вижуал бейсик телефонная книга,таблица добавлена с данными, но не могу добавить нового...

Компьютер не опознаёт ни телефон ни телефонную книгу
У меня проблема - у нас на компьютере недавно установили Windows 8 и с ним ничего не хочет работать, ни телефон, ни электронная книга -...

Добавление в телефонную книгу нового телефонного номера...
public static void main(String args) { // TODO Auto-generated method stub String handbook = new String{ {&quot;Petrov&quot;,...

Самсунг е590 нужно скачать телефонную книгу
Есть тлф самсунг е590 старенький и маленький, по современным меркам, ))) наверное пришло ему время замениться, временами начал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru