Javascript Vue-JS中的映射数组
我正在VueJS 2.0中开发一个小应用程序,其中有一个类似以下内容的数据集:Javascript Vue-JS中的映射数组,javascript,ecmascript-6,vue.js,vuejs2,Javascript,Ecmascript 6,Vue.js,Vuejs2,我正在VueJS 2.0中开发一个小应用程序,其中有一个类似以下内容的数据集: {"data": [ { "id":8, "salutation":"Mr", "first_name":"Madhu", "last_name":"Kela", "number":"2343253455", "mobile":"3252345435"
{"data":
[
{
"id":8,
"salutation":"Mr",
"first_name":"Madhu",
"last_name":"Kela",
"number":"2343253455",
"mobile":"3252345435",
"email":"madhu@reliancemf.com",
"alt_email":null,
"address":"Mumbai BKC",
"city":"Mumbai",
"state":null,
"country":"India",
"profile":null,
"sectors_interested":"[\"Insurance\",\"Infrastructure\",\"Information Technology\",\"hevy machines\",\"Healtcare\"]",
"companies_interested":"[4]",
"interactions_count":11,
"client_interactions_count":0,
"company":[
{
"id":7,
"name":"Reliance MF",
"address":"Mumbai BKC",
"city":"Mumbai",
"state":null,
"country":"India",
"type":"Investor",
"sub_type":"Mutual Fund",
"is_client":0,
"pivot":{
"contact_id":8,
"company_id":7,
"created_at":"2017-07-01 17:07:08",
"updated_at":"2017-07-01 17:07:08"
}
}
]
},
{
"id":7,
"salutation":"Ms",
"first_name":"XYZ",
"last_name":"ABC",
"number":"1847171087",
"mobile":"8327523057",
"email":"skbkjgerbra@dabflvdjf.com",
"alt_email":null,
"address":"Mumbai",
"city":"Mumbai",
"state":null,
"country":"India",
"profile":null,
"sectors_interested":"[\"Insurance\",\"Information Technology\",\"Infrastructure\",\"hevy machines\"]",
"companies_interested":"[6,4]",
"interactions_count":8,
"client_interactions_count":0,
"company":[
{
"id":3,
"name":"Franklin Fun",
"address":"Mumbai",
"city":"Mumbai",
"state":null,
"country":"India",
"type":"Investor",
"sub_type":"Mutual Fund",
"is_client":0,
"pivot":{
"contact_id":7,
"company_id":3,
"created_at":"2017-07-01 16:59:41",
"updated_at":"2017-07-01 16:59:41"
}
}
]
}
]
}
return this.model.map(d => ({
name: d.first_name + ' ' +d.last_name,
company: d.company[0].name,
email: d.email,
mobile: d.mobile,
profile: d.profile,
count: d.interactions_count ? d.interactions_count : d.client_interactions_count
}))
我希望映射这些值,如下所示:
{"data":
[
{
"id":8,
"salutation":"Mr",
"first_name":"Madhu",
"last_name":"Kela",
"number":"2343253455",
"mobile":"3252345435",
"email":"madhu@reliancemf.com",
"alt_email":null,
"address":"Mumbai BKC",
"city":"Mumbai",
"state":null,
"country":"India",
"profile":null,
"sectors_interested":"[\"Insurance\",\"Infrastructure\",\"Information Technology\",\"hevy machines\",\"Healtcare\"]",
"companies_interested":"[4]",
"interactions_count":11,
"client_interactions_count":0,
"company":[
{
"id":7,
"name":"Reliance MF",
"address":"Mumbai BKC",
"city":"Mumbai",
"state":null,
"country":"India",
"type":"Investor",
"sub_type":"Mutual Fund",
"is_client":0,
"pivot":{
"contact_id":8,
"company_id":7,
"created_at":"2017-07-01 17:07:08",
"updated_at":"2017-07-01 17:07:08"
}
}
]
},
{
"id":7,
"salutation":"Ms",
"first_name":"XYZ",
"last_name":"ABC",
"number":"1847171087",
"mobile":"8327523057",
"email":"skbkjgerbra@dabflvdjf.com",
"alt_email":null,
"address":"Mumbai",
"city":"Mumbai",
"state":null,
"country":"India",
"profile":null,
"sectors_interested":"[\"Insurance\",\"Information Technology\",\"Infrastructure\",\"hevy machines\"]",
"companies_interested":"[6,4]",
"interactions_count":8,
"client_interactions_count":0,
"company":[
{
"id":3,
"name":"Franklin Fun",
"address":"Mumbai",
"city":"Mumbai",
"state":null,
"country":"India",
"type":"Investor",
"sub_type":"Mutual Fund",
"is_client":0,
"pivot":{
"contact_id":7,
"company_id":3,
"created_at":"2017-07-01 16:59:41",
"updated_at":"2017-07-01 16:59:41"
}
}
]
}
]
}
return this.model.map(d => ({
name: d.first_name + ' ' +d.last_name,
company: d.company[0].name,
email: d.email,
mobile: d.mobile,
profile: d.profile,
count: d.interactions_count ? d.interactions_count : d.client_interactions_count
}))
另外,正如您在代码中看到的,我希望通过比较来放置交互数量,即,如果交互数量为0,我希望映射到客户端交互数量,我无法从第一个数组参数中获取公司名称,并且无论响应如何,我都无法使用数量降序排列。帮我解决这个问题。谢谢。
常数数据=[
{
id:8,
敬礼:,
名字:Madhu,
姓:凯拉,
电话:2343253455,
移动电话:3252345435,
电邮:madhu@reliancemf.com,
alt_电子邮件:空,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
配置文件:空,
感兴趣的行业:[\Insurance\,\Infrastructure\,\Information Technology\,\hevy machines\,\Healtcare\],
感兴趣的公司:[4],
数量:11,
客户端\u交互\u计数:0,
公司:[
{
id:7,
姓名:信实MF,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
类型:投资者,
子类型:共同基金,
is_客户端:0,
支点:{
联络电话:8,,
公司编号:7,
创建时间:2017-07-01 17:07:08,
更新时间:2017-07-01 17:07:08
}
}
]
},
{
id:7,
敬礼:,
名字:XYZ,
姓氏:ABC,
电话:1847171087,
流动电话:8327523057,
电邮:skbkjgerbra@dabflvdjf.com,
alt_电子邮件:空,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
配置文件:空,
感兴趣的行业:[\Insurance\,\Information Technology\,\Infrastructure\,\hevy machines\],
感兴趣的公司:[6,4],
数量:8,
客户端\u交互\u计数:0,
公司:[
{
id:3,
姓名:富兰克林·范,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
类型:投资者,
子类型:共同基金,
is_客户端:0,
支点:{
联络电话:7,,
公司编号:3,
创建时间:2017-07-01 16:59:41,
更新时间:2017-07-01 16:59:41
}
}
]
}
];
const result=data.mapitem=>{
返回{
名称:item.first_name+“”+item.last_name,
公司:物料。公司[0]。名称,
电子邮件:item.email,
mobile:item.mobile,
profile:item.profile,
计数:item.interactions\u计数?item.interactions\u计数:item.client\u interactions\u计数
};
}.sorta,b=>b.count-a.count;
console.logresult
常数数据=[
{
id:8,
敬礼:,
名字:Madhu,
姓:凯拉,
电话:2343253455,
移动电话:3252345435,
电邮:madhu@reliancemf.com,
alt_电子邮件:空,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
配置文件:空,
感兴趣的行业:[\Insurance\,\Infrastructure\,\Information Technology\,\hevy machines\,\Healtcare\],
感兴趣的公司:[4],
数量:11,
客户端\u交互\u计数:0,
公司:[
{
id:7,
姓名:信实MF,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
类型:投资者,
子类型:共同基金,
is_客户端:0,
支点:{
联络电话:8,,
公司编号:7,
创建时间:2017-07-01 17:07:08,
更新时间:2017-07-01 17:07:08
}
}
]
},
{
id:7,
敬礼:,
名字:XYZ,
姓氏:ABC,
电话:1847171087,
流动电话:8327523057,
电邮:skbkjgerbra@dabflvdjf.com,
alt_电子邮件:空,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
配置文件:空,
感兴趣的行业:[\Insurance\,\Information Technology\,\Infrastructure\,\hevy machines\],
感兴趣的公司:[6,4],
数量:8,
客户端\u交互\u计数:0,
公司:[
{
id:3,
姓名:富兰克林·范,
地址:孟买,
城市:孟买,
状态:空,
国家:印度,
类型:投资者,
子类型:共同基金,
is_客户端:0,
支点:{
联络电话:7,,
公司编号:3,
创建时间:2017-07-01 16:59:41,
更新时间:2017-07-01 16:59:41
}
}
]
}
];
const result=data.mapitem=>{
返回{
名称:item.first_name+“”+item.last_name,
公司:物料。公司[0]。名称,
电子邮件:item.email,
mobile:item.mobile,
profile:item.profile,
计数:item.interactions\u计数?item.interactions\u计数:item.client\u interactions\u计数
};
}.sorta,b=>b.count-a.count;
console.logresult;请确保代码示例中的变量名匹配。还有,你有没有试过把d甩了?您将看到公司名称是否未定义。您不必这样做。modal.data,因为此对象在模型变量中,您仍然有数据。@franzskufka是的。如果未定义,则问题不在您的映射lambda中。@yev是的,通过响应将其放置在模型中时,我正在执行类似的操作。this.model=response.data.data请确保代码示例中的变量名匹配。还有,你有没有试过把d甩了?您将看到公司名称是否未定义。您不必这样做。modal.data,因为此对象在模型变量中,您仍然有数据。@franzskufka是的。如果未定义,则问题不在您的映射lambda中。@yev是的,通过响应将其放置在模型中时,我正在执行类似的操作。this.model=response.data.data有没有办法用计数值降序排序?有没有办法用计数值降序排序?