Tag: 循环

将索引添加到等值的连续运行

做一个计数器索引比使用循环有更快的方法吗? 在相同价值的连续运行中,指数应该是相同的。 我发现这个循环非常慢,特别是当数据太大的时候。 为了说明,这里是input和期望的输出 x <- c(2, 3, 9, 2, 4, 4, 3, 4, 4, 5, 5, 5, 1) 期望的结果计数器: c(1, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9) 请注意, 不连续的运行具有不同的索引。 例如,请参阅值2和4的所需索引 我低效率的代码是这样的: group[1]<-1 counter<-1 for (i in 2:n){ if (x[i]==x[i-1]){ group[i]<-counter }else{ counter<-counter+1 group[1]<-counter} }

在for循环中closures

循环中的闭合造成我的问题。 我想我必须做另一个函数返回一个函数来解决这个问题,但我不能让它与我的jQuery代码一起工作。 这是一个简单的基本问题: function foo(val) { alert(val); } for (var i = 0; i < 3; i++) { $('#button'+i).click(function(){ foo(i); }); } 自然地,点击三个button中的任何一个都会给出一个警告。3.我想要的function是点击button1将会发出警告,说1,button2会说2。 我怎样才能做到这一点?

在Bash中的文本文件中创build一个数组

脚本获取一个URL,parsing它所需的字段,并将其输出redirect到保存在file.txt文件中。 每次find字段时,输出将保存在新行中。 file.txt的 A Cat A Dog A Mouse etc… 我想采取file.txt并从一个新的脚本中创build一个数组,其中每一行成为自己的stringvariables在数组中。 到目前为止我已经尝试过: #!/bin/bash filename=file.txt declare -a myArray myArray=(`cat "$filename"`) for (( i = 0 ; i < 9 ; i++)) do echo "Element [$i]: ${myArray[$i]}" done 当我运行这个脚本时,空格会导致单词被分割,而不是被获取 期望的输出 Element [0]: A Cat Element [1]: A Dog etc… 我最终得到这个: 实际产出 Element [0]: A Element [1]: Cat […]

将for循环的索引传递给ajaxcallback函数(JavaScript)

我有一个for循环封闭ajax调用,我试图确定从for循环索引传递给callback函数的最佳方法。 这是我的代码: var arr = [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010]; for (var i = 0; i < arr.length; i++) { $.ajaxSetup({ cache:false }) $.getJSON("NatGeo.jsp", { ZipCode: arr[i], Radius: document.getElementById("radius").value, sensor: false }, function(data) { DrawZip(data, arr[i]); } ); } 目前,由于asynchronousajax调用,只传递了arr数组的最后一个值。 除了同步运行ajax调用之外,如何将arr数组的每次迭代传递给callback函数?

jackson – 具有双向关系的实体序列化(避免循环)

我有两个实体: Parent { Child[] children; } and Child { Parent parent; } 我知道@JsonBackReference和@JsonManagedReference 。 它们是好的,如果我正在序列化Parent实例。 但是我也需要传输Child实例,我希望填充parent字段。 换一种说法: 在Parent序列化中,它应该有children但是他们的父领域可能是空的(可以通过使用json引用注释来解决)。 在Child序列化中, parent应该有children (但是children不必有parent 。 有没有办法使用标准的jacksonfunction解决它? 即跳过已序列化的实体的序列化,而不是标记符合或不符合序列化条件的字段。

有没有办法循环通过TSQL中的表variables,而不使用游标?

比方说,我有以下简单的表格variables: declare @databases table ( DatabaseID int, Name varchar(15), Server varchar(15) ) — insert a bunch rows into @databases 如果我想遍历行,是声明和使用游标我唯一的select? 有另一种方法吗?

如何告诉lambda函数捕获一个副本,而不是在C#中的引用?

我一直在学习C#,并试图理解lambda。 在下面的这个示例中,它打印出十次十次。 class Program { delegate void Action(); static void Main(string[] args) { List<Action> actions = new List<Action>(); for (int i = 0; i < 10; ++i ) actions.Add(()=>Console.WriteLine(i)); foreach (Action a in actions) a(); } } 显然,lambda后面的生成类正在存储对int ivariables的引用或指针,并且每次循环迭代时都将相同的引用分配一个新值。 有没有办法强制lamda抓取一个副本,而不是像C ++ 0x语法 [&](){ … } // Capture by reference 与 [=](){ … } // Capture […]

用for循环创build一个三angular形

我似乎无法find这个答案 – 我需要使用for循环绘制一个简单的三angular形。 * *** ***** ******* ********* 我可以做一个三angular形,但我不知道如何添加到我目前的循环,形成一个完整的三angular形。 * ** *** **** ***** for (int i=0; i<6; i++) { for (int j=0; j<i; j++) { System.out.print("*"); } System.out.println(""); } 谢谢-

索引string中所有出现的字符

以下代码将打印2 String word = "bannanas"; String guess = "n"; int index; System.out.println( index = word.indexOf(guess) ); 我想知道如何在string“bannanas”中获得“n”(“guess”)的所有索引, 预期的结果是: [2,3,5]

如何阻止激烈的JavaScript循环冻结浏览器

我正在使用Javascriptparsing一个约3500个元素的XML文件。 我正在使用jQuery“each”函数,但我可以使用任何forms的循环。 问题在于循环执行时浏览器冻结了几秒钟。 停止冻结浏览器的最佳方法是什么? $(xmlDoc).find("Object").each(function() { //Processing here });