标签: for-in-loop

什么是....在javascript语句中

任何人都可以在javascript中解释如何使用... in语句.我读过w3school的文章,但我觉得不太清楚.下面是代码,请解释一下:

<html>
<body>
<script type="text/javascript">
var x;
var mycars = new Array();
mycars[10] = "Saab";
mycars[20] = "Volvo";
mycars[30] = "BMW";

for (x in mycars)
{
document.write(mycars[x] + "<br />");
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript for-in-loop

3
推荐指数
1
解决办法
2408
查看次数

使用"for in"语句和编译器错误E2064

我想用句子中的下D2010我的测试案例.

如果我想写Param.Value变量然后编译器报告错误2064,但允许从同一记录写入Param.Edit.text,为什么?

测试用例:

type
//
  TparamSet = (param_A, param_B, param_C, param_D, param_E, param_F);

  TParam = record
    Edit        :TEdit;
    Value       :integer;
  end;

var
  dtcp                  :array [TparamSet] of TParam;

procedure ResetParams;
var
  Param                 :TParam;
  A                     :Integer;
begin
  for Param in dtcp do
  begin
    Param.Edit.text:= 'Test';             //No problem
    A := Param.Value;                     //No problem
    Param.Value := 0;                     //Error: E2064 Left side cannot be assigned to;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2010 for-in-loop

3
推荐指数
1
解决办法
547
查看次数

枚举NSMutableDictionary - 无法从循环内访问对象属性

我有一个NSMutableDictionary,analyzedPxDictionary包含一堆Pixel对象(我创建的自定义类).除此之外,Pixel对象包含一个名为NSArray的属性rgb.该数组将始终包含三个NSNumber对象,其整数值对应于像素的rgb值.

我现在试图枚举analyzedPxDictionary使用快速枚举.但是,似乎我无法从循环内访问Pixel对象的属性.我声明rgb是一个合成属性,以便我可以使用点语法访问它.但是当我尝试从循环中执行此操作时,程序崩溃,给出了如下错误:

'-[NSCFString rgb]: unrecognized selector sent to instance 0xa90bb50'

以下是产生该错误的代码示例:

for (Pixel *px in analyzedPxDictionary) {
    printf("r: %i, g: %i, b: %i",[[px.rgb objectAtIndex:0] integerValue], [[px.rgb objectAtIndex:1] integerValue], [[px.rgb objectAtIndex:2] integerValue]);
}
Run Code Online (Sandbox Code Playgroud)

我试过在那条printf线上设置一个断点来检查px.虽然rgb如果其属性被列为一个并且正确描述为NSArray的实例,但它似乎不包含任何对象.

我相信我rgb正确地初始化.要解释一下,请考虑以下代码:

NSString *key;
for (Pixel *px in analyzedPxDictionary) {
    key = [px description];
}

Pixel *px = [analyzedPxDictionary objectForKey:key];
printf("\nr: %i, g: %i, b: %i",[[px.rgb objectAtIndex:0] integerValue], [[px.rgb objectAtIndex:1] integerValue], [[px.rgb …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c fast-enumeration for-in-loop ios

3
推荐指数
1
解决办法
258
查看次数

使用NSInteger的for-in循环?

我有一个NSMutableArray填充NSIntegers.我需要遍历数组.我可以:

// given NSMutableArray *array of NSIntegers
NSUInteger n = [array count];
for (NSInteger i = 0; i < n; i++) {
  NSInteger x = [array objectAtIndex:i];
  // query SQLite WHERE id = x
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎for(数组中的对象)循环会更清晰.iOS 5不接受NSIntegers或NSNumbers作为for-in循环中的对象.我应该使用NSObjects遍历数组,在每次迭代期间将NSObject强制转换为NSInteger吗?还有另外一种方法吗?或者是一个for循环,就像上面这个问题最干净的解决方案?

for-in-loop ios5

3
推荐指数
1
解决办法
2519
查看次数

如何遍历Object.defineProperty创建的对象属性

我的程序中有以下对象

function Player(id) {
    this.id = id;
    this.healthid = this.id + "health";
    this.displayText = "blah blah";
    this.inFight = false;
    this.currentLocation = 0;
    this.xp = 0;
    this.level = 1;
}

var player = new Player('player');

player.currentHealth = player.health;
Run Code Online (Sandbox Code Playgroud)

我打印出这样的属性名称

function displayStats() {
    var statsHtml = "";
    for ( var prop in player ) {
        statsHtml += "<p id = 'displayPlayerHealth'>" + prop + "</p>";
    }

    $('.stats').html( statsHtml);
    console.log(statsHtml);
}

displayStats();
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我宣布的其他财产是这样的

Object.defineProperty(player,"health",{ 
    set: function() { 
    return 10 + ( this.level * …
Run Code Online (Sandbox Code Playgroud)

javascript foreach object for-in-loop defineproperty

3
推荐指数
1
解决办法
540
查看次数

Javascript:无法通过for..in循环访问对象属性

我试图访问实际位于另一个对象内的对象上的属性(名称).我在文件中初始化了对象:

var icons = {

    "facebook": {name: 'facebook', icon_url: 'img/logos/facebook.png'}

};
Run Code Online (Sandbox Code Playgroud)

然后尝试使用以下代码检查对象:

   var icon_current_class;

  for(var icon in icons){

    console.dir(icon);
    //outputs an object named facebook but says it has no properties

    if( $(this).hasClass( icon.name ) ){
      icon_current_class = icon.name;
    }else{
      alert("Something went wrong. Please contact the mods.");
    }
  }
Run Code Online (Sandbox Code Playgroud)

当然,每次运行时,警报("出问题")都会消失.我已经尝试了很长时间才找到解决方案,但无济于事.有人可以帮忙吗?

html javascript css object for-in-loop

3
推荐指数
2
解决办法
2282
查看次数

JS函数被调用两次?

我似乎无法找到使代码运行两次的错误,并且JSFiddle不适合我,所以我不能仔细检查它是否是编辑器.

var friends = {};
friends.bill = {
    firstName: "Bill",
    lastName: "Gates",
    number: 9,
    address: ["5242", "drank avenue"]
};
friends.steve = {
    firstName: "Steve",
    lastName: "Jobs",
    number: 8,
    address: ["3368", "pool lane"]
};

var list = function(person)
{
    for (var friendName in person)
        console.log(friendName);
};

list(friends);
Run Code Online (Sandbox Code Playgroud)
Output:
bill
steve
bill
steve
Run Code Online (Sandbox Code Playgroud)

javascript loops function for-in-loop

3
推荐指数
1
解决办法
6821
查看次数

Swift:PlayGround上的for-in循环非包含上限

我刚刚开始玩Swift.使用Playground时,根据Apple的iBook,以下应该有效:

var firstForLoop = 0;

for i in 1..3 {
    firstForLoop += i;
}
Run Code Online (Sandbox Code Playgroud)

然而,翻译抱怨:"使用未解析的标识符'..'"我试过:

var firstForLoop = 0;

for i in 1...3 {
    firstForLoop += i;
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好(包括循环中的上限值).Apple是否..已从Swift的语法中删除了该选项?

for-in-loop swift

3
推荐指数
1
解决办法
1180
查看次数

循环JavaScript的说明

我在理解此for in循环工作方式时遇到麻烦。

function createSimpleNode(name, options, text) {
         var node = document.createElement(name); 

        for (var o in options) { 
                 node.setAttribute(o, options[o]);
        }

        if (text) { 
                node.innerHTML = text;
        }

        return node; 
}
Run Code Online (Sandbox Code Playgroud)

javascript loops for-in-loop

3
推荐指数
1
解决办法
386
查看次数

Python for-in-loop停止对从for-in-loop创建的列表对象进行迭代

[有史以来第一个Stack-o-flow Python初学者用户的问题]

我一直在尝试创建一个附加数字1到10然后在python列表对象中从10擦除到1的函数.然而,我成功了,我遇到了for-in循环的奇怪行为.

以下是我所做的和成功的:

def a():
    li = []

    for i in range(1,11):
        li.append(i)
        print(li)

    for n in range(1,11):
        li.remove(li[-1])
        print(li)

a()
Run Code Online (Sandbox Code Playgroud)

会打印:

[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, …
Run Code Online (Sandbox Code Playgroud)

python iteration for-in-loop python-3.x

3
推荐指数
1
解决办法
83
查看次数