dongyu4908
2015-06-03 11:59
浏览 214
已采纳

循环遍历带有对象的数组

I get the following array from my back end:

[Object { 7="77.105.239.8", 10="77.105.239.11", 18="77.105.239.19", more...}]

How can I use ng-options to fill my select dropdown with the Ips from the array?

The array above Is the result of an array_diff from my back end In PHP:

foreach($ips as $ip)
                {
                    $taken[] = $ip['ip'];
                }

                $start = (ip2long($serie->net) + 1);
                $antal = pow(2,(32-$serie->mask));

                for($i = $start; $i < ($start+$antal-3); $i++)
                {
                    if(end(explode(".", long2ip($i))) != "0")
                    {
                        $possible_ips[] = long2ip($i);
                    }
                }

                $poss = array_diff($possible_ips, $taken);

                return $poss;
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • dongli1920 2015-06-03 12:10
    最佳回答

    If you don't want to or cannot fix the data to be formatted like m4lt3 answer, then you need to do some preprocessing of the data before trying to bind it.

    var originalData = [{ 7: "77.105.239.8", 10: "77.105.239.11", 18: "77.105.239.19"}];
    var originalObject = originalData[0];
    var newData = [];
    for (var i in originalObject) {
      newData.push({'id': i, 'ip': originalObject[i]});
    }
    $scope.ipList = newData;
    

    ...then you could bind ipList using ngOptions.

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题