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

TypeScript中如何访问对象数组内的指定属性(如kameraName)

解决TypeScript中对象数组属性访问问题

首先,你当前用object[]作为数组类型的话,TypeScript无法推断出数组内对象的具体属性,直接访问kameraName会出现类型错误。建议先定义一个明确的类型或接口来约束数组元素:

// 定义接口描述数组元素的结构
interface ExtentItem {
  id: number;
  kameraName: string;
}

// 将数组类型改为ExtentItem[]
public extentSource: ExtentItem[];

this.extentSource = []; // 无需new Array<ExtentItem>(),直接初始化空数组即可

this.extentSource.push({
  id: md.deviceId,
  kameraName: md.label,
});

访问单个元素的kameraName属性

如果要访问数组中某个位置元素的kameraName,直接通过索引加属性名即可:

// 访问第一个元素的kameraName
const firstKameraName = this.extentSource[0].kameraName;
console.log(firstKameraName); // 输出"canon"

查找kameraName为"sony"的元素

如果要筛选出kameraName值为"sony"的对象,使用数组的find方法:

const sonyItem = this.extentSource.find(item => item.kameraName === "sony");
// 若需忽略大小写,可改为item.kameraName.toLowerCase() === "sony"

if (sonyItem) {
  console.log(sonyItem.kameraName); // 找到后输出"sony"
} else {
  console.log("未找到kameraName为sony的元素");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:45:31