Получить ссылку в объекте

197
30 января 2019, 05:20

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

let obj = { 
  m1: [{ 
    message: 'Hello world!' 
  }], 
  m2: [], 
  m3: [] 
} 
 
function getElementFromObj(type) { 
  this.method(type, obj.type.length >= 1) 
} 
 
function method(type, value) { 
  switch (type) { 
    case 'm1': 
      return value ? 'post' : 'patch' 
      break; 
    case 'm2': 
      return value ? 'post' : 'patch' 
      break; 
    case 'm3': 
      return value ? 'post' : 'patch' 
      break 
    default: 
      return 'post' 
      break; 
  } 
} 
 
console.log(getElementFromObj('m1')) 
console.log(getElementFromObj('m2')) 
console.log(getElementFromObj('m3'))

Answer 1

let obj = { 
  m1: [{ 
    message: 'Hello world!' 
  }], 
  m2: [], 
  m3: [] 
} 
 
function getElementFromObj(type) { 
  // так как имя св-ва хранится в переменной type 
  // то нужно обращаться не через точку, а через квадратные скобки 
  return method(type, obj[type].length >= 1) 
} 
 
function method(type, value) { 
  switch (type) { 
    case 'm1': 
      return value ? 'post' : 'patch' 
      break; 
    case 'm2': 
      return value ? 'post' : 'patch' 
      break; 
    case 'm3': 
      return value ? 'post' : 'patch' 
      break 
    default: 
      return 'post' 
      break; 
  } 
} 
 
console.log(getElementFromObj('m1')) 
console.log(getElementFromObj('m2')) 
console.log(getElementFromObj('m3'))

READ ALSO
express-rate-limit, middleware

express-rate-limit, middleware

Как настроить whitelist с помощью этого модуля? Гуру помогите

266
Получить все компоненты Vue

Получить все компоненты Vue

Есть сайт, на котором используется Vue - можно ли через консоль получить массив ссылок на все компоненты?

186
Рефакторинг проверки

Рефакторинг проверки

Как можно лучше привести в порядок проверку в myFuncХотел использовать typeof obj

198
Контантенировать два массива?

Контантенировать два массива?

Подскажите алгоритмЕсть массив из 10 элементов

190