19037


質問させてください。タイトルの通りです。  
1個のshopに10個のlistが紐づいている構造の配列で

[code]

    shop { id: "1", name: "shop1", lists: "Array[9]" }
    shop.lists[0~9] { list_id: "1", list_name: "list1" }
    
[/code]

に対して .push（もしくはもっといい方法があれば教えてください）で  
shopに紐づくそれぞれのshop.listsの最後に、addvalue値を追加しようとしています。  
以下のようなイメージです。

[code]

    shop.lists[0] { list_id: "1", list_name: "list1", addvalue: "1" }
    shop.lists[1] { list_id: "2", list_name: "list1", addvalue: "2" }
    shop.lists[2] { list_id: "3", list_name: "list1", addvalue: "3" }
    　　　.
    　　　.
    　　　.
    shop.lists[9] { list_id: "1", list_name: "list1", addvalue: "10" }
    
[/code]

whileを使って以下のようにaddvelue値をpushしようとしているのですが  
"shop.lists[from].push is not a function" が消えずうまくいきません。。  
原因の他にもっとスマートな書き方があれば合わせて教えていただきたいです。  
よろしくお願いいたします。

[code]

    from = 0
    to = shop.listTotal - 1  ## listTotalにはlistの個数"9"が格納されています
    while from <= to
      # shop.lists[from].value = from
      shop.lists[from].push
        addvalue: from
      from++
    console.debug article
    return
    
[/code]


CC BY-SA 3.0
2015-11-19T07:02:06.193
19029
2015-11-19T08:44:49.673
10441
question
javascript angularjs coffeescript
javascript(AngularJS)で配列の最後にpushができずに困っています


(CoffeeScriptのこともAngularのことも知りませんが) 配列なのは `shop.lists` であって、`shop.lists[n]`
は配列ではありません。したがって、`push()` は使えません。

JavaScript 的に書くと、やりたいことは `shop.lists[from].addvalue = from` だと思われます。


CC BY-SA 3.0
2015-11-19T08:44:49.673
19037
2015-11-19T08:44:49.673
3475
19029
answer