Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (14)

Наибольший вклад в теги

Все теги (49)

Лучшие ответы пользователя

Все ответы (398)
  • JS/JQUERY Калькулятор - как правильно работать с массивом?

    alex-1917
    @alex-1917
    Пример массивов для 5 городов, разницу в размере кода видно даже на глаз...
    варик от rsa97
    var err = 'выберите разные города';
    	prices = {
    	  khabarovsk: {
    		khabarovsk: err,
    		moscow: 1200,
    		spb: 1000,
    		rdn: 750,
    		smr: 888
    	  },
    	  moscow: {
    		khabarovsk: 1200,
    		moscow: err,
    		spb: 500,
    		rdn: 650,
    		smr: 777
    	  },
    	  spb: {
    		khabarowsk: 1000,
    		moscow: 500,
    		spb: err,
    		rdn: 550,
    		smr: 555,
    	  },
    	  rdn: {
    		khabarowsk: 750,
    		moscow: 650,
    		spb: 550,
    		rdn: err,
    		smr: 444
    	  },
    	  smr: {
    		khabarowsk: 750,
    		moscow: 650,
    		spb: 550,
    		rdn: 888,
    		smr: err
    	  }
    	};
    $( "select.city_choice" ).change(function() {
    	$('.final_price').html(prices[$('#city_from').val()][$('#city_to').val()]);
    });


    мой варик (и принцип наполнения массива видно на глаз... хотя в первом варике наверное удобнее заполнять города, если заполняет секретарша, но в случае ошибки туда или обратно будет по разной цене, в моем варике это исключено):

    var err = 'выберите разные города';
    	altprices = [
    		['moscow','khabarovsk',1200],
    		['moscow','spb',500],
    		['moscow','rdn',650],
    		['moscow','smr',777],
    		['khabarovsk','spb',1000],
    		['khabarovsk','rdn',750],
    		['khabarovsk','smr',888],
    		['spb','rdn',550],
    		['spb','smr',555],
    		['rdn','smr',444]
    	];
    	$( "select.city_choice2" ).change(function() {
    		for(var i = 0; i < altprices.length;i++){
    			if ($('#city_from2').val() == $('#city_to2').val()) {
    				$('.final_price2').html(err);
    				return;
    			}
    			if($.inArray($('#city_from2').val(), altprices[i]) != -1 && $.inArray($('#city_to2').val(), altprices[i]) != -1){
    				$('.final_price2').html(altprices[i][2]);
    			}
    		}
    	});


    https://jsfiddle.net/xpvt214o/717290/
    Ответ написан
  • Будет ли норм если много засунуть в массив?

    alex-1917
    @alex-1917
    планшеты и смартфоны начнут виснуть, а владельцы планшетов и владельцы смартфонов будут желать разработчику сайта гореть в аду...
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (10)