javascript - 使用命名属性声明 ojbects 的 javascript 数组的语法
问题描述
我希望能够通过对象属性的名称引用对象的 javascript 数组
var currentColour = phones[1].TextColour;
甚至更好
var currentColour = phones(Number == "7483427273").TextColour;
如何声明数组?
我试过的...
var phones = [ new Object(Number = '1234282248', DisplayBold = false),
new Object(Number = ... etc ];
var phones = [ [ new phone(Number = '1234282248', DisplayBold = false ... etc
(方括号和花括号的各种组合)
这是我能得到的最接近的值,但仅由数字引用:(即电话[1][3])
var phones = [
[Number = '1234282248', DisplayBold = false, DisplayItalic = true, FillColour = '#FF4169E1', TextColour = '#FFFFFF00'],
[Number = '7483427273', DisplayBold = true, DisplayItalic = false, FillColour = '#FFFF0000', TextColour = '#FFADFF2F'],
[Number = '9465601196', DisplayBold = true, DisplayItalic = false, FillColour = '#FF191970', TextColour = '#FFF0FFFF']
];
解决方案
我不知道您的困惑来自哪里,但您最好将您的电话号码定义为普通对象,例如
var phones = [
{Number: '1234282248', DisplayBold: false, DisplayItalic: true, FillColour: '#FF4169E1', TextColour: '#FFFFFF00'},
{Number: '7483427273', DisplayBold: true, DisplayItalic: false, FillColour: '#FFFF0000', TextColour: '#FFADFF2F'},
{Number: '9465601196', DisplayBold: true, DisplayItalic: false, FillColour: '#FF191970', TextColour: '#FFF0FFFF'}
];
然后您可以使用该Array.prototype.find
方法找到电话号码,例如:
let match = phones.find( p => p.Number === '7483427273' );
if ( !match) {
// no match found
return;
}
// here match would be the second phone number in the array
如果您只想查找索引,则可以使用该Array.prototype.findIndex
方法,例如:
let index = phones.findIndex( p => p.Number === '7483427273' );
if ( index === -1) {
// no match found
return;
}
// here index would be 1 as the second phone number in the array
推荐阅读
- python - 即使在我指定它们之后,烧瓶中缺少 3 个必需的位置参数错误
- python - 使用 pandas.DataFrame.assign 时将多个变量传递给函数
- ios - 有什么方法可以在 iOS swift 中支持用于支付卡的 NFC 读取器?
- javascript - 如何获取由 XLSX 模块提取的 excel 文件生成的数组元素而不会未定义
- javascript - 使用自定义浏览器协议启动 nodejs 应用程序
- powershell - 在 powershell core 7.1.3 中安装 pscx 失败
- java - 任务 ':app:installDebug' 执行失败。> com.android.builder.testing.api.DeviceException:com.android.ddmlib.InstallException:EOF
- angular - 运行我的文件更改事件侦听器导致 TypeError:无法在“FileReader”上执行“readAsArrayBuffer”:参数 1 不是“Blob”类型
- git - Git 中的 TAG 名称标准
- git - 发布生成 git 日志输出后,如何从 X、Y、Z 板上找到所有故事编号?并将列表存储在变量中?