underline-js-findWhere查找只有键值的对象
underscore js findWhere find object with just key value
我有一个列出所有用户的数组,每个新连接都会与他们上传的文件名一起添加到这个数组中。两个人各自上传一个文件后的一个例子是:
[ '{ 127.0.2.2: test.pdf}', '{ 127.0.0.1: asf.pdf}' ]
如何只返回IP文件名?如果需要,如果返回IP+文件名有效,我可以稍后拆分文件名。
我试过:
console.log(_.findWhere(userlist, function(){ var tempObj = {}; return tempObj[user] = fileName;}));
但这只是每次返回第一个值。使用该示例,它每次都会返回{127.0.0.2:test.pdf}。user和fileName是在某人上传后定义的,因此它们应该用当前信息覆盖(事实证明这是正确的,因为它正确地添加了它),但每次仍然只返回第一个键/值对。
让我知道这是否合理。
正如Brennan在评论中所说,您应该使用_.find而不是当前代码。
var userlist = [ { '127.0.2.2': 'test.pdf'}, { '127.0.0.1': 'asf.pdf'} ];
var ip = '127.0.0.1';
var userWithIp = _.find(userlist, function(f){ return Object.keys(f)[0] === ip;})
以下是使用_.find方法的工作代码:
http://jsfiddle.net/g49urmef/1/
相关文章:
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- javascript对象键值对
- 如何将这些对象键值放入文本框中
- 将javascript变量列表转换为对象键/值对
- javascript 对象键值循环 setInterval
- 将数组/对象键值替换为另一个数组/对象 javascript 中的键值
- 如何强制对象键值对首先位于对象中
- 当对象键值在数组中时如何过滤数组
- 将对象键值与数组中的值匹配
- 在动态 JavaScript 对象(键/值对)中创建动态数组
- 计算对象键值并将其转换为百分比(100%)
- 如何在 javascript 中向数组添加新对象(键值对)
- 基于另一个对象键/值存储对象值
- 反应.js传递对象键值对作为 props
- 基于动态数据获取对象键值
- 将javascript对象键值推送到javascript对象键数组
- 转换/解析javascript对象键值对
- 如何在JavaScript中从对象键值返回数组
- getter和setter vs对象键值对
- 异步迭代对象键/值