У меня есть объект длина пребывания, в котором я пытаюсь объединить значения внутри него и поместить его в customerApplication.lengthOfStay
lengthOfStay:{
yrs: '',
mos:''
},
customerApplication: {
length_of_stay: this.lengthOfStayYrsMos
}
computed: {
lengthOfStayYrsMos(){
return this.customerApplication.length_of_stay =
Object.keys(this.lengthOfStay).map(k => this.lengthOfStay[k]).join(" ")
}
}
поэтому конкатенация выглядит хорошо, и результат, например,
lengthOfStay:{
yrs: '2',
mos:'2'
},
//result
customerApplication: {
length_of_stay: "2 2"
}
как я могу объединить строку на нем? что бы результат был
customerApplication: {
length_of_stay: "2 Yrs. & 2 Mos."
}
Вы можете использовать Object.entries()
, чтобы получить как ключ, так и значение из объекта, затем изменить первый символ на верхний регистр и объединить в нужном формате.
let data = { lengthOfStay:{ yrs: '2', mos:'2' }}
let capFirstChar = (str)=> str[0].toUpperCase() + str.substr(1,)
let op = Object.entries(data.lengthOfStay)
.map(([key, value]) => `${value} ${capFirstChar(key)}.`)
.join(' & ')
console.info(op)
Попробуй это:
Object.keys(this.lengthOfStay).map(k => {
return `${this.lengthOfStay[k]} ${k}.`
}).join(" & ")
ДЛЯ ПЕРВОГО КЛЮЧА ЗАГЛАВНЫМИ БУКВАМИ
Object.keys(this.lengthOfStay).map(k => {
return `${this.lengthOfStay[k]} ${k.charAt(0).toUpperCase() + k.slice(1)}.`
}).join(" & ")