Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 05.04.2018, 22:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

vovang,
да
Ответить с цитированием
  #32 (permalink)  
Старый 05.04.2018, 22:09
Интересующийся
Отправить личное сообщение для vovang Посмотреть профиль Найти все сообщения от vovang
 
Регистрация: 30.01.2013
Сообщений: 21

Так почему не работает?
Ответить с цитированием
  #33 (permalink)  
Старый 05.04.2018, 22:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от vovang
Так почему не работает?
что не работает?
Ответить с цитированием
  #34 (permalink)  
Старый 05.04.2018, 22:12
Интересующийся
Отправить личное сообщение для vovang Посмотреть профиль Найти все сообщения от vovang
 
Регистрация: 30.01.2013
Сообщений: 21

Функция searchProperty
Ответить с цитированием
  #35 (permalink)  
Старый 05.04.2018, 22:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

vovang,
где ваш код, который не работает?
Ответить с цитированием
  #36 (permalink)  
Старый 05.04.2018, 22:24
Интересующийся
Отправить личное сообщение для vovang Посмотреть профиль Найти все сообщения от vovang
 
Регистрация: 30.01.2013
Сообщений: 21

Может я что-то не понимаю.Вот мой код скрипта изначальный
var park = new Array();
var marshrut = new Array();
 
function input(){
var busn = document.f.busn.value;
var name = document.f.fio.value;
var marsh = document.f.marsh.value;
 
var bus = {
busn:busn,
name:name,
marsh:marsh
};
 
var bus1 = Object.create(bus);
var Element=park.unshift(bus.busn+'/'+bus.name+'/'+'№'+bus.marsh);
}
 
function output(){
document.f.displey1.value=park;
document.f.displey2.value=marshrut;
}
 
function inpdel1(){
var busn=document.f.busn.value;
/*for(var i=0;i<park.length;i++){
if(busn=park){
marshrut.unshift(park[i]);
park.shift(park[i]);
}
}*/
}
 
function inpdel2(){
var busn=document.f.busn.value;
for(var i=0;i<marshrut.length;i++){
if(busn=marshrut){
park.unshift(marshrut[i]);
marshrut.shift(marshrut[i]);
}
}
}

Вот ваш код
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);
}
}

Вставьте ваш фрагмент кода в полный скрипт.
Ответить с цитированием
  #37 (permalink)  
Старый 05.04.2018, 22:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от vovang
if(busn=marshrut){
это бред и его нужно убрать, о чём вам написано в самом начале
Ответить с цитированием
  #38 (permalink)  
Старый 05.04.2018, 22:39
Интересующийся
Отправить личное сообщение для vovang Посмотреть профиль Найти все сообщения от vovang
 
Регистрация: 30.01.2013
Сообщений: 21

В функции inpdel1 этот бред
if(busn=marshrut){
отсуствует.Функция inpdel1 записывает в массив marshrut объект по свойству busn и удаляет этот же объект из массива park.На функцию inpdel2 можете не обращать внимания,она выполняет другие действия.Вставьте ваш фрагмент кода в общий скрипт.Чтобы было понятно как он распологается.
Ответить с цитированием
  #39 (permalink)  
Старый 05.04.2018, 23:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

vovang,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
var park = new Array;
var marshrut = new Array;

function createBus() {
    var busn = document.f.busn.value;
    var name = document.f.fio.value;
    var marsh = document.f.marsh.value;
    var bus = {
        busn: busn,
        name: name,
        marsh: marsh
    };
    document.f.reset();
    return bus;
}

function showBusFromArray(array, elem) {
    var str = "";
    for (var i = 0; i < array.length; i++) {
        var item = array[i];
        str += JSON.stringify(item) + "\n";
    }
    elem.value = str;
}

function addBus() {
    var bus = createBus();
    park.push(bus);
    var elem = document.f.displey1;
    showBusFromArray(park, elem);
    elem = document.f.displey2;
    showBusFromArray(marshrut, elem);
}

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 fromParkToMarshrut() {
    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);
    }
    document.f.reset();
    var elem = document.f.displey1;
    showBusFromArray(park, elem);
    elem = document.f.displey2;
    showBusFromArray(marshrut, elem);
};
  </script>
</head>

<body>
<form name="f">
<table width="100">
<tr>
  <td>В парке</td>
  <td>На маршруте</td>
</tr>
<tr>
  <td><textarea name="displey1" rows="5" cols="20"></textarea></td>
  <td><textarea name="displey2" rows="5" cols="20"></textarea></td>
</tr>
</table>
<br>
Введите данные<br>
фио<br>
<input type="text" name="fio"><br>
номер автобуса<br>
<input type="text" name="busn"><br>
номер маршрута<br>
<input type="text" name="marsh"><br>
<input type="button" value="Добавить автобус" onClick="addBus()">
<input type="button" value="Ввести номер автобуса, отправить на маршрут" onClick="fromParkToMarshrut()">

</form>

</body>
</html>
Ответить с цитированием
  #40 (permalink)  
Старый 05.04.2018, 23:29
Интересующийся
Отправить личное сообщение для vovang Посмотреть профиль Найти все сообщения от vovang
 
Регистрация: 30.01.2013
Сообщений: 21

И снова вы изменили весь скрипт.Складывается впечатление,только в написаном вами скрипте работает ваш фрагмент кода.Потому как в моём скрипте
var park = new Array();
var marshrut = new Array();
  
function input(){
var busn = document.f.busn.value;
var name = document.f.fio.value;
var marsh = document.f.marsh.value;
  
var bus = {
busn:busn,
name:name,
marsh:marsh
};
  
var bus1 = Object.create(bus);
var Element=park.unshift(bus.busn+'/'+bus.name+'/'+'№'+bus.marsh);
}
  
function output(){
document.f.displey1.value=park;
document.f.displey2.value=marshrut;
}
  
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);
}
}
,код
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);
}
}
неработает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами, help! tvv90 Общие вопросы Javascript 11 02.02.2016 10:34
Работа с массивами BorisBritva jQuery 6 23.02.2014 18:31
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06
Работа с массивами. Требуется помощь. Кристи Общие вопросы Javascript 3 08.02.2011 18:00
работа с массивами one-two Работа 11 31.01.2011 16:30