Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с массивами (https://javascript.ru/forum/misc/61073-rabota-s-massivami.html)

j0hnik 04.04.2018 00:40

рони переделал

рони 04.04.2018 00:51

Цитата:

Сообщение от j0hnik
рони переделал

ок...

vovang 04.04.2018 21:56

var park = [{busn:111, name:222, marsh:123}, {busn:222, name:777, marsh:333}];


Рони.Дело в том,что индекс элемента массива заранее не известен,т.к. данные вводятся через форму и на их основе создается объект,который потом будет записан в массив park.И найти нужный объект нужно исключительно по свойству busn.Это одно из условий работы программы.Поэтому массивы park и marshrut создаются отдельно через new Array.А функция input создаёт сам объект и записывает его в массив.

рони 04.04.2018 22:01

vovang,
так и в примере неизвестен индекс, и в примере находится
Цитата:

Сообщение от vovang
исключительно по свойству busn

Цитата:

Сообщение от vovang
А функция input создаёт сам объект и записывает его в массив.

только это добавить осталось, но желательно без
Цитата:

Сообщение от vovang
var bus1 = Object.create(bus);


vovang 04.04.2018 22:44

Вот функция добавления из массива park в массив marshrut
function inpdel1(){
var busn=document.f.busn.value;//доступ к полю ввода
for(var i;i<park.length;i++){
if(условие?){
marshrut.unshift(park[i]);//добавление в массив
park.shift(park[i]);//удаление из массива
}
}
}

Как записать условие,чтобы найти объект по свойству busn в массиве park?Без перезаписи всего скрипта.

рони 04.04.2018 23:20

Цитата:

Сообщение от vovang
найти объект по свойству busn в массиве park

:-? я же вам всё написал, пост №11 :(

рони 04.04.2018 23:24

vovang,
function searchProperty(array, property, value) {
  for (var i = 0; i < array.length; i++) {
    var item = array[i];
    if (property in item && item[property] == value) {
      return i;
    }
  }
  return -1;
}
function inpdel1(){
var busn = document.f.busn.value;//доступ к полю ввода
var index = searchProperty(park, "busn", busn);
var obj;
if (index !== -1) {
  obj = park.splice(index, 1)[0];
}
if (obj) {
  marshrut.push(obj);
}
}

vovang 05.04.2018 21:39

Рони.А каким образом будет запускаться функция searchProperty?

рони 05.04.2018 21:52

Цитата:

Сообщение от vovang
А каким образом будет запускаться функция searchProperty?

строка 12 пост №27.

vovang 05.04.2018 21:59

Т.е. вы хотите сказать,что после запуска функции inpdel1 когда выполнение кода дойдёт до строки 12 поста №27,то запустится searchProperty?


Часовой пояс GMT +3, время: 23:49.