Javascript 使用下划线.js映射或每个值
我正试图找出更新underline.jsJavascript 使用下划线.js映射或每个值,javascript,underscore.js,Javascript,Underscore.js,我正试图找出更新underline.js.map方法的最佳方法,因为包含了一个新字段值,该字段值应与传递给.map的当前值分组。我应该在新更新中使用.map或.each,并且我应该将值存储为对象或数组中的对象,并将其传递给.map或。每个以实现我想要的结果吗?目前,我用.map尝试了对象方法,但值是以数组的形式出现的 正确格式: [ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 }, { reportTitle: 'Titl
.map
方法的最佳方法,因为包含了一个新字段值,该字段值应与传递给.map
的当前值分组。我应该在新更新中使用.map
或.each
,并且我应该将值存储为对象或数组中的对象,并将其传递给.map
或。每个
以实现我想要的结果吗?目前,我用.map
尝试了对象方法,但值是以数组的形式出现的
正确格式:
[ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 },
{ reportTitle: 'Title2', reportLink: 'test2.com', id: 166 } ]
var links = _.map(req.body.reportLink, function(link){
return {
reportLink: link,
id: blog.id
};
});
[ { reportLink: 'test.com', id: 166 },
{ reportLink: 'test2.com', id: 166 } ]
var linkAttributes = { title: req.body.reportTitle, link: req.body.reportLink}
var links = _.map(linkAttributes, function(link) {
return {
reportTitle: link.title,
reportLink: link.link,
id: blog.id
};
原件(工作):
[ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 },
{ reportTitle: 'Title2', reportLink: 'test2.com', id: 166 } ]
var links = _.map(req.body.reportLink, function(link){
return {
reportLink: link,
id: blog.id
};
});
[ { reportLink: 'test.com', id: 166 },
{ reportLink: 'test2.com', id: 166 } ]
var linkAttributes = { title: req.body.reportTitle, link: req.body.reportLink}
var links = _.map(linkAttributes, function(link) {
return {
reportTitle: link.title,
reportLink: link.link,
id: blog.id
};
输出:
[ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 },
{ reportTitle: 'Title2', reportLink: 'test2.com', id: 166 } ]
var links = _.map(req.body.reportLink, function(link){
return {
reportLink: link,
id: blog.id
};
});
[ { reportLink: 'test.com', id: 166 },
{ reportLink: 'test2.com', id: 166 } ]
var linkAttributes = { title: req.body.reportTitle, link: req.body.reportLink}
var links = _.map(linkAttributes, function(link) {
return {
reportTitle: link.title,
reportLink: link.link,
id: blog.id
};
已更新(不工作):
[ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 },
{ reportTitle: 'Title2', reportLink: 'test2.com', id: 166 } ]
var links = _.map(req.body.reportLink, function(link){
return {
reportLink: link,
id: blog.id
};
});
[ { reportLink: 'test.com', id: 166 },
{ reportLink: 'test2.com', id: 166 } ]
var linkAttributes = { title: req.body.reportTitle, link: req.body.reportLink}
var links = _.map(linkAttributes, function(link) {
return {
reportTitle: link.title,
reportLink: link.link,
id: blog.id
};
}))
输出:
[ { reportTitle: [ 'Test 1', 'Test 2' ],
reportLink: [ 'test1.com', 'test2.com' ],
id: 164 } ]
\uuu.map
->应将第一个参数设置为数组
var linkAttributes = [
{
title: req.body.reportTitle,
link: req.body.reportLink
}
]; // shoud be array
var links = _.map(linkAttributes, function(link) {
return {
reportTitle: link.title,
reportLink: link.link,
id: blog.id
};
现在很清楚你在问什么了,下面应该可以做到这一点:
const zip=(arr1,arr2)=>
[…新数组(Math.max(arr1.length,arr2.length))].map(
(u,i)=>[arr1[i],arr2[i]],
);
const reportTitle=['test-title','test-title2'];
const reportLink=['test.com','test2.com'];
console.log(
zip(reportTitle,reportLink).map(
([reportTitle,reportLink])=>({
报告标题,
reportLink,
身份证号码:166,
}),
),
);代码>你能添加输入和所需输出的示例吗?@Phiter“正确格式”是所需的结果。数组中格式为{reportTitle:*value*,reportLink:*value*,id:*value*}
的对象在“原始”代码中存在,但由于我向对象添加了reportTitle
并更新了映射方法,因此每次迭代我都会收到数组作为属性值,不是每次迭代的对象。好的,现在请输入。@HMR以下是格式reportTitle(req.body.reportTitle):['testtitle','test-title2']
和reportLink(req.body.reportLink):['test.com','test2.com']
No参数集合(数组|对象):要迭代的集合。
@HMR对于当前情况,我们需要发送数组作为第一个参数。您必须通灵才能了解当前情况,因为问题不清楚输入是什么。无需将数组传递给。.map
,但您声明:应将第一个参数作为数组
,这根本不是真的。谢谢您,很抱歉造成混淆。这正是我想要的。