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