You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React.js如何遍历嵌套数组?

React中遍历对象数组内的嵌套数组

你只需要在ul标签内部,对item.hobbies再次使用map方法遍历这个嵌套数组,生成对应的li元素即可。同时要给每个li设置唯一的key,避免React渲染警告。

修改后的完整代码如下:

const myContacts = [
   {
     name: 'John',
     hobbies: ['swimming', 'skateboard', 'TV']
   },
   {
     name: 'Sarah',
     hobbies: ['Cooking'],
   },
   {
     name: 'Cindy',
     hobbies: ['Shopping', 'Running'],
   },
];
 
function MyPeeps({ myContacts }) {
  return (
    <div>
      {myContacts.map((item, index) => {
        return (
          <div key={index}>
            <p>{item.name}</p>
            {item.hobbies && item.hobbies.length > 0 &&
              <ul>
                {item.hobbies.map((hobby, hobbyIndex) => (
                  <li key={`${index}-${hobbyIndex}`}>{hobby}</li>
                ))}
              </ul>
            }
          </div>
        )
      })}
    </div>
  )
}

补充说明

  • 额外添加item.hobbies.length > 0的判断,避免hobbies为空数组时渲染空的ul标签,让页面结构更整洁。
  • 关于key:外层用index是临时方案,如果后续数组有增删、排序操作,建议用每个联系人的唯一标识(比如id)作为key;内层用${index}-${hobbyIndex}是为了保证不同联系人之间,即使爱好名称重复,key也不会冲突。

内容的提问来源于stack exchange,提问作者NewToJS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:30:41