如何将此循环转换为 Linq.js 或只是 linq

How to convert this cycle into Linq.js or just linq

我的代码写在JavaScript

for (var i = 0; i < tsUA.length; i++) {
        if (tsRU[i][0] === tsUA[i][0])
            tsUA[i][2] = tsRU[i][1];
        }

最好使用 firstOrDefault

在 C# LINQ 中,您可以这样做:

var query = tsUA.Zip(tsRU, (ua, ru) => new { ua, ru })
    .Where(p => p.ua[0] == p.ru[0]);
foreach (var pair in query)
    pair.ua[2] = pair.rs[1];

请注意,这里没有那么多 "LINQ",您正在修改对象。 LINQ 并非设计用于执行此操作。而您使用 FirstOrDefault() 的请求毫无意义,这里没有位置。

您可能应该注意到,在这里使用 LINQ 并没有给您带来太多好处。此外,将对象保留为数组会降低其可读性。为什么不创建适当的对象来表示您的数据?