객체와 배열이 있습니다. 가정:
const 먼저 = { 'key1': '어떤 날짜', 'key2': '어떤 날짜' } const second = ['key3', 'key4']
그런 다음 확장된 구문을 사용하여 이들을 단일 개체로 병합합니다. 배열의 각 항목에 대해 새 키-값 쌍을 만들고 이를 병합된 개체에 넣으려고 합니다. 현재는 키-값 쌍이 아닌 맵 함수에서만 객체를 반환할 수 있습니다. 이것을 어떻게 바꾸나요?
const 결합 = { ...첫 번째, ...second.map(key => ({ [key]: new Date() })) // 객체 대신 키-값 쌍을 반환합니다. }
내가 얻은 결과:
{ '0': { key3: '어떤 날짜' }, '1': { key4: '어떤 날짜' }, key1: '어떤 날짜', key2: '어떤 날짜' }
내가 원하는 결과:
{ key1: '어떤 날짜', key2: '어떤 날짜', key3: '어떤 날짜', key4: '어떤 날짜' }
이렇게 할 수 없습니다.
map
배열을 출력합니다(여기서 각 값은 원래 배열의 일치하는 인덱스에 있는 값을 함수에 전달한 결과입니다). 배열을 객체로 확장하면 속성 이름으로 인덱스(번호)를 가져오고 값으로 값을 가져옵니다.배열로 시작해서 객체로 끝내고 싶다면
map
就是错误的工具。请改用reduce
는 잘못된 도구입니다. 대신reduce
를 사용하세요.다음 코드와 유사:
으아아아