JavaScript遍历未知索引嵌套数组获取指定属性方法
实现方法
你这个是Strapi接口返回的标准嵌套数据结构,不需要提前知道data数组的索引和长度,直接遍历数组就能拿到所有元素下的attributes.Title值,以下是几种常用的JavaScript实现方式:
- 基础for循环写法(兼容所有运行环境)
// 把接口返回的整段数据存在apiData变量里 const apiData = { // 你贴出的完整数据对象 } const allTitles = [] // 循环会自动读取数组长度,逐一遍历每个索引位的元素,不需要手动指定索引 for (let index = 0; index < apiData.data.length; index++) { const currentItem = apiData.data[index] // 用可选链避免个别元素缺失attributes或Title字段时抛出报错 const title = currentItem?.attributes?.Title if (title) allTitles.push(title) }
- forEach简洁遍历写法
const allTitles = [] apiData.data.forEach(item => { const title = item?.attributes?.Title if (title) allTitles.push(title) })
- map快速生成标题数组(推荐)
// 直接映射出所有Title,再过滤掉可能存在的空值 const allTitles = apiData.data .map(item => item?.attributes?.Title) .filter(Boolean)
如果你不需要拿所有Title,只是要找符合特定条件的某条数据的Title,直接在遍历逻辑里加判断条件即可,比如匹配指定id、匹配分类名称之后再取对应值,全程不需要提前知道目标元素的具体索引。
内容的提问来源于stack exchange,提问作者Talles Amadeu
相关产品推荐
相关产品推荐

