KingNET.WebUI/Scripts/linqjs/test/projection.js
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/// <reference path="testrunner.htm"/>
module("Projection");
test("CascadeDepthFirst", function ()
{
actual = Enumerable.Return(1).CascadeDepthFirst("$+$").Take(7).ToArray();
deepEqual(actual, [1, 2, 4, 8, 16, 32, 64]);
actual = Enumerable.Return(1).CascadeDepthFirst("$+$", "v,nl=>{v:v,nl:nl}").Take(3).ToArray();
deepEqual(actual, [{ v: 1, nl: 0 }, { v: 2, nl: 1 }, { v: 4, nl: 2}]);
});
test("CascadeBreadthFirst", function ()
{
actual = Enumerable.Return(1).CascadeBreadthFirst("$+$").Take(7).ToArray();
deepEqual(actual, [1, 2, 4, 8, 16, 32, 64]);
actual = Enumerable.Return(1).CascadeBreadthFirst("$+$", "v,nl=>{v:v,nl:nl}").Take(3).ToArray();
deepEqual(actual, [{ v: 1, nl: 0 }, { v: 2, nl: 1 }, { v: 4, nl: 2}]);
});
test("Flatten", function ()
{
var array = [1, 31, [431, 41, 5], [1431, 43, [344, 3], 43], 43];
actual = Enumerable.From(array).Flatten().ToArray();
deepEqual(actual, [1, 31, 431, 41, 5, 1431, 43, 344, 3, 43, 43]);
});
test("Pairwise", function ()
{
actual = Enumerable.Range(1, 4).Pairwise("prev,next=>{p:prev,n:next}").ToArray();
deepEqual(actual, [{ p: 1, n: 2 }, { p: 2, n: 3 }, { p: 3, n: 4}]);
});
test("Scan", function ()
{
actual = Enumerable.Range(1, 10).Scan("a,b=>a+b").ToArray();
deepEqual(actual, [1, 3, 6, 10, 15, 21, 28, 36, 45, 55]);
var seed = 100;
actual = Enumerable.Range(1, 10).Scan(seed, "a,b=>a+b").ToArray();
deepEqual(actual, [100, 101, 103, 106, 110, 115, 121, 128, 136, 145, 155]);
actual = Enumerable.Range(1, 10).Scan(seed, "a,b=>a+b", "val=>val*10").ToArray();
deepEqual(actual, [1000, 1010, 1030, 1060, 1100, 1150, 1210, 1280, 1360, 1450, 1550]);
});
test("Select", function ()
{
actual = Enumerable.Range(1, 10).Select("i=>i*10").ToArray();
deepEqual(actual, [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]);
actual = Enumerable.Range(1, 10).Select("i,index=>i*10+index").ToArray();
deepEqual(actual, [10, 21, 32, 43, 54, 65, 76, 87, 98, 109]);
});
test("SelectMany", function ()
{
actual = Enumerable.Range(1, 5).SelectMany("i=>Enumerable.Repeat(i,2)").ToArray();
deepEqual(actual, [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]);
actual = Enumerable.Range(1, 5).SelectMany("i,index=>Enumerable.Repeat(i,index+1)").ToArray();
deepEqual(actual, [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]);
actual = Enumerable.Range(1, 5).SelectMany("i=>Enumerable.Repeat(i,2)", "i=>i*10").ToArray();
deepEqual(actual, [10, 10, 20, 20, 30, 30, 40, 40, 50, 50]);
后面还有 31 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。