javascript/jquery 中的 LinQ foreach

sti*_*bay 5 javascript jquery

如何在 Jquery 或 Javascript 中轻松执行这些类型的循环?最好没有任何其他插件。

string a = "";
foreach (var i in (from a in DbList1 select a.FieldA).Distinct())
{
   a += i + ", ";
}
Run Code Online (Sandbox Code Playgroud)

和这个

foreach (var i in DbList2)
{
   a += i.FieldB + ", ";
}
Run Code Online (Sandbox Code Playgroud)

循环数 2 至少可以这样解决。

$.each(aData.DbList2, function (index, value) {
 a += value.FieldB;
);
Run Code Online (Sandbox Code Playgroud)

虽然不是 100% 确定这是最有效的

phu*_*uzi 2

第二个很容易在普通 JavaScript 中完成:

var a = "";
for (var i = 0; i < DbList2.length; i++){
    a += DbList2[i].FieldB + ", ";
}
Run Code Online (Sandbox Code Playgroud)

第一个有点棘手,但并非不可能,也可以使用普通 JS 来完成。

var a = "";
var uniques = [];

for (var i = 0; i < DbList1.length; i++ ){
    var fieldA = DbList1[i].FieldA;
    // check if we've already seen this value
    if (uniques.indexOf(fieldA) < 0)
    {
        // Nope, record it for future use
        uniques.push(fieldA)

        // and update the string.
        a += fieldA + ", ";
    }
}
Run Code Online (Sandbox Code Playgroud)