ЙажаСценарий / Говнокод #26070 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
{{ order.type === '2' && order.orderAddress ?
                  ` ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) && $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:StreetLine']._text : ''} ${$store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress) ? $store.getters['delivery/points'].find(item => item['a:DeliveryShopId']._text === order.orderAddress)['a:House']._text : ''}`
                :
                order.clientAddress
                ?
                  ` ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName'] && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress) && $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text ? $store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:SettlementName']._text + ',' : ''} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:StreetLine']._text} ${$store.getters['delivery/clientAddresses'].find(item => item['a:ClientAddressId']._text === order.clientAddress)['a:House']._text}`
                :
                '' }}

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

Запостил: jerk_thehuman jerk_thehuman, (Updated )

Комментарии (10) RSS

  • Зато как функцианальненько! А уж стрелочные функции — это вообще плюс 100 очков Гриффиндору к модности кода. Сразу видно, что писал хипстер.
    Ответить
  • если кому интересно, то это суть того, что хотелось получить в итоге, после (небольшого) рефакторинга:
    getOrderAddressRow (order) {
            let foundPoint = null
            if (order.type === 2 && order.orderAddress) {
              foundPoint = this.$store.getters['delivery/points'].find(item => item.shopId === order.orderAddress)
            }
            else if (order.clientAddress) {
              foundPoint = this.$store.getters['delivery/clientAddresses'].find(item => item.addressId === order.clientAddress)
            }
            if (!foundPoint) {
              return null
            }
            let result = ''
            if (foundPoint.settlement) {
              result += foundPoint.settlement + ', '
            }
            if (foundPoint.street) {
              result += foundPoint.street + ' '
            }
            result += foundPoint.house
            return result
          }
    Ответить
    • На троечку по моей смузихлебской шкале
      getOrderAddressRow ({type, orderAddress, clientAddress}) {
        const {$store: {getters}} = this;
        const foundPoint = type && orderAddress && getters['delivery/points'].find(({shopId }) => shopId === orderAddress)
          || clientAddress && getters['delivery/clientAddresses'].find(({addressId}) => addressId === clientAddress);
        if(!foundPoint) {
          return null;
        }
        const { settlement, street, house } = foundPoint;
        return [settlement && settlement + ',', street, house].filter(Boolean).join(' ');
      }
      Ответить
      • Низачот, в стабильной версии «Хрома» работает. Надо чтоб гомоиконы только в самой свежей ночной сборке запускалось!
        Ответить
        • Приведи реальный пример кода, который запускается только в ночной сборке.
          Ответить
          • Обычно все наоборот. Разработчики хрома и другие типы вроде Babel имеют вредную привычку вносить в открытый доступ фичи, находящиеся только на стадии пропозала в стандарт, так что возможны (и, кажется, были) казусы когда код оказывался невалиден в самой новой версии стандарта, потому что фичу в итоге сделали по-другому
            Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8