简体   繁体   English

如何使用javascript从对象数组中提取对象的值

[英]How can I extract the value of an object from an array of objects array using javascript

I have an array of objects that looks like this structure below and I would like to use javascript or jquery to extract the email which is in the serviceProviderContact field eg mike@comapny .co.za.我有一个看起来像下面这个结构的对象数组,我想使用 javascript 或 jquery 来提取位于 serviceProviderContact 字段中的电子邮件,例如 mike@comapny .co.za。 At the moment I am using the providerName field to populate a dropdownlist but I would also like to extract the email as well.目前我正在使用 providerName 字段来填充下拉列表,但我也想提取电子邮件。

providers: Array(4)
0: {providerId: 1, countryId: 1, providerName: "Vodacom", serviceProviderContact: "support@company.co.za"}
1: {providerId: 2, countryId: 1, providerName: "MTN", serviceProviderContact: "john@company.co.za"}
2: {providerId: 3, countryId: 1, providerName: "Cell C", serviceProviderContact: "mike@company.co.za"}
3: {providerId: 4, countryId: 1, providerName: "Telkom Mobile", serviceProviderContact: "Aplh@company.co.za"}

You can use map to print the email id.您可以使用 map 打印电子邮件 ID。 You have to put , after every object to make it a valid object.您必须在每个对象之后放置,以使其成为有效对象。 Object.values is used to extract all the values present in the object in an array Object.values用于提取数组中对象中存在的所有值

 var providers = [{ 0: { providerId: 1, countryId: 1, providerName: "Vodacom", serviceProviderContact: "support@company.co.za" }, 1: { providerId: 2, countryId: 1, providerName: "MTN", serviceProviderContact: "john@company.co.za" }, 2: { providerId: 3, countryId: 1, providerName: "Cell C", serviceProviderContact: "mike@company.co.za" }, 3: { providerId: 4, countryId: 1, providerName: "Telkom Mobile", serviceProviderContact: "Aplh@company.co.za" } }] window.onload=function() { var k; var v; Object.values(providers[0]).forEach(e=>{ k=document.createElement('option'); v=document.createTextNode(e.providerName); k.appendChild(v) document.getElementById('a').appendChild(k)}) } function a(name) { var x=Object.values(providers[0]).filter((e) => e.providerName==name) alert(x[0].serviceProviderContact) }
 <select id="a" onchange='a(this.value)'> </select>

Simply use map like so:只需像这样使用map

var emails = providers.map(e => e.serviceProviderContact);

Demonstration:示范:

 var providers = [{providerId: 1, countryId: 1, providerName: "Vodacom", serviceProviderContact: "support@company.co.za"}, {providerId: 2, countryId: 1, providerName: "MTN", serviceProviderContact: "john@company.co.za"} {providerId: 3, countryId: 1, providerName: "Cell C", serviceProviderContact: "mike@company.co.za"}, {providerId: 4, countryId: 1, providerName: "Telkom Mobile", serviceProviderContact: "Aplh@company.co.za"}]; var emails = providers.map(e => e.serviceProviderContact); console.log(emails);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JavaScript:从对象数组中的对象数组中提取属性值作为数组 - JavaScript: from an array of objects of an array of objects, extract value of a property as array 如何从对象数组中提取对象(数组)? - How do I extract an object(array) from an array of objects? 如何从对象数组创建 JavaScript object? - How can I create a JavaScript object from an array of objects? 如何从对象javascript数组创建特定对象? - How can I create a specific object from an array of objects javascript? 如何根据javascript中的最大值从对象数组中删除对象 - How can I remove an object from array of objects based on max value in javascript 如何使用另一个对象中的值过滤对象数组? - How can I filter an array of objects with a value from another object? 如何从 Javascript 中的对象数组中提取特定值? - How to extract a specific value from array of objects in Javascript? 如何从 JavaScript 中的嵌套数组对象中提取特定属性作为数组 - How can I extract specific property as an array from nested array object in JavaScript 如何使用另一个数组按键/值从数组中提取对象 - How extract object by key/value from array using an other array 使用Javascript从数组或对象中提取value属性 - Extract a value property from either an array OR object using Javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM