gpt4 book ai didi

javascript - underscore js findWhere 查找只有键值的对象

转载 作者:行者123 更新时间:2023-12-02 16:56:51 24 4
gpt4 key购买 nike

我有一个列出所有用户的数组,每个新连接都会连同他们上传的文件名添加到该数组中。两个人各上传一个文件后的示例是:

[ '{ 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.2.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 - underscore js findWhere 查找只有键值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26109560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com