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

循环遍历带有对象的数组

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条)

报告相同问题?