Могу ли я использовать более высокую функцию на этом? - PullRequest
0 голосов
/ 26 сентября 2018

это код, который я хочу знать, если я хочу использовать в некоторых других функциях, таких как ForEach, map, filter или what else?
это возможно?

const val = 'Mike,Mike@mail.com,male'

const split = val.split(',')
console.log(split) //to check

const newObj = {}

newObj.name = split[0]
newObj.email = split[1]
newObj.gender = split[2]

console.log(newObj)

const val2 = 'name:John,email:John@mail.com'

const split2 = val2.split(',')
 console.log(split2) //to check
const newObj2 = {}

  for(var i = 0; i < split2.length; i++) {
    var data = split2[i].split(':')
    newObj2[data[0]] = data[1]
  }

console.log(newObj2)

хочу сделать код более понятным и коротким

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Другой способ может быть

const val = 'name:Mike,email:Mike@mail.com,gender:male'

const obj = {}
val.split(',')
   .map(prop => prop.split(':'))
   .forEach(([key, value]) => {
     obj[key] = value
   })

console.log(obj)
0 голосов
/ 26 сентября 2018

const val = 'Mike,Mike@mail.com,male'

const [name, email, gender] = val.split(',')

console.log({name, email, gender})

const val2 = 'name:John,email:John@mail.com'

const splitByColon = term => {
  const [key, value] = term.split(':')
  return {[key]: value}
}

console.log(
  val2
    .split(',')
    .reduce((acc, term) =>
      ({...acc, ...splitByColon(term)}), {})
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...