Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用下划线.js映射或每个值_Javascript_Underscore.js - Fatal编程技术网

Javascript 使用下划线.js映射或每个值

Javascript 使用下划线.js映射或每个值,javascript,underscore.js,Javascript,Underscore.js,我正试图找出更新underline.js.map方法的最佳方法,因为包含了一个新字段值,该字段值应与传递给.map的当前值分组。我应该在新更新中使用.map或.each,并且我应该将值存储为对象或数组中的对象,并将其传递给.map或。每个以实现我想要的结果吗?目前,我用.map尝试了对象方法,但值是以数组的形式出现的 正确格式: [ { reportTitle: 'Title1', reportLink: 'test.com', id: 166 }, { reportTitle: 'Titl

我正试图找出更新underline.js
.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
,但您声明:
应将第一个参数作为数组
,这根本不是真的。谢谢您,很抱歉造成混淆。这正是我想要的。