Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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 下划线Pull不适用于模型数组?_Javascript_Backbone.js_Underscore.js - Fatal编程技术网

Javascript 下划线Pull不适用于模型数组?

Javascript 下划线Pull不适用于模型数组?,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我想知道为什么我的第二次拔毛不起作用,但我的地图工作得很好?我认为这些是相同的用法 这是一个控制台日志的屏幕截图,显示了这个.get('items')和当前视频的数组 主干模型对象不存储从顶层javascript对象的模型中获取的属性。currentVideo主干模型对象实际上在(currentVideo.attributes)中更深地存储javascript对象中的属性 \uuu.pluck(currentVideos,'duration')检查顶层属性(例如,currentVideos['d

我想知道为什么我的第二次拔毛不起作用,但我的地图工作得很好?我认为这些是相同的用法

这是一个控制台日志的屏幕截图,显示了这个.get('items')和当前视频的数组


主干模型对象不存储从顶层javascript对象的模型中获取的属性。
currentVideo
主干模型对象实际上在(
currentVideo.attributes
)中更深地存储javascript对象中的属性

\uuu.pluck(currentVideos,'duration')
检查顶层属性(例如,
currentVideos['duration']
),该属性不存在


区别在于主干模型对象比基本javascript对象更复杂,并且不通过仅检索
对象['attrName']

获取属性,主干模型对象不存储从顶层javascript对象的模型中获取的属性。
currentVideo
主干模型对象实际上在(
currentVideo.attributes
)中更深地存储javascript对象中的属性

\uuu.pluck(currentVideos,'duration')
检查顶层属性(例如,
currentVideos['duration']
),该属性不存在

区别在于主干模型对象比基本javascript对象更复杂,并且不通过检索
对象['attrName']
来获取属性

我认为这些是相同的用法

没有。正在使用该名称访问属性,但
get
是一个方法调用。但是,要缩短
地图
,您可以使用:

我认为这些是相同的用法

没有。正在使用该名称访问属性,但
get
是一个方法调用。但是,要缩短
地图
,您可以使用:


你能不能也发一份关于这个问题的样本收集清单。我已经上传了一个截图。你能不能也发布一个关于这个问题的样本收集列表。我上传了一个截图。@Sushanth--
currentVideos
只是一组模型,而不是一个集合
pluck
始终返回数组,而不是集合。这个答案是正确的。@PeterLyons。。是我的错。。我忽略了一个小问题。如果Pulk返回的是一个集合
\uu.map(currentVideos,
将是
\uu.map)(currentVideos.models,
。感谢您的澄清that@Sushanth--
currentVideos
只是一个模型数组,而不是集合。
Pulk
总是返回一个数组,而不是集合。这个答案是正确的。@PeterLyons..对了,我错了..我忽略了一个小点。如果Pulk返回集合
。\map(currentVideos,
应该是
的.map(currentVideos.models,
),感谢您的澄清
var currentVideos = this.get('items').pluck('video');

//  TODO: Why does pluck not work here?
var currentVideosDurations = _.map(currentVideos, function (currentVideo) {
    return currentVideo.get('duration');
});

var test = _.pluck(currentVideos, 'duration');
console.log("Test:", test);
var currentVideosDurations = _.invoke(currentVideos, "get", "duration");