Lodash:替换对象数组中的值
Lodash: replace value in array of objects
要替换对象数组中的值,在本例中 created_at
为 'jan'、'Feb' 等,我当然可以使用 map through ,如下所示。
但是使用 lodash 有更短的方法吗?
import React, { useEffect } from 'react'
import _ from 'lodash'
import moment from 'moment'
interface DataProps {
clazz_name: string
created_at: string
}
const dataone: DataProps[] = [
{
clazz_name: '1A',
created_at: '2022-01-19T09:13:42.149+08:00',
},
{
clazz_name: '1B',
created_at: '2022-02-19T09:13:42.149+08:00',
},
]
let datatwo: DataProps[] = []
function App() {
useEffect(() => {
dataone.forEach((item) =>
datatwo.push({
clazz_name: item.clazz_name,
created_at: moment(item.created_at).format('MMM'),
})
)
console.log(datatwo)
}, [])
return <div>Test</div>
}
export default App
任何提示或帮助将不胜感激。
您可以像下面这样使用_.map
const dataTwo = _.map(dataOne, item => ({...item, created_at: moment(item.created_at).format('MMM') }))
要替换对象数组中的值,在本例中 created_at
为 'jan'、'Feb' 等,我当然可以使用 map through ,如下所示。
但是使用 lodash 有更短的方法吗?
import React, { useEffect } from 'react'
import _ from 'lodash'
import moment from 'moment'
interface DataProps {
clazz_name: string
created_at: string
}
const dataone: DataProps[] = [
{
clazz_name: '1A',
created_at: '2022-01-19T09:13:42.149+08:00',
},
{
clazz_name: '1B',
created_at: '2022-02-19T09:13:42.149+08:00',
},
]
let datatwo: DataProps[] = []
function App() {
useEffect(() => {
dataone.forEach((item) =>
datatwo.push({
clazz_name: item.clazz_name,
created_at: moment(item.created_at).format('MMM'),
})
)
console.log(datatwo)
}, [])
return <div>Test</div>
}
export default App
任何提示或帮助将不胜感激。
您可以像下面这样使用_.map
const dataTwo = _.map(dataOne, item => ({...item, created_at: moment(item.created_at).format('MMM') }))