2016-12-10 1 views
0

Я хочу получить доступ к объекту '2016-11-12' внутри $ scope.list и отобразить заказ и баланс. Как это можно достичь?Как получить доступ к элементу в объекте массива по номеру индекса?

Список:

$scope.list = { 
    ItemCode:'item1', 
    '2016-11-12':[{Order:'1',Balanace:'2'}], 
    '2016-11-15':[{Order:' ',Balanace:' '}] 
} 

Я попытался indexof, но, кажется, не работает.

$scope.list[0].indexof(1) 

Любая идея и предложение будут замечательными!

+1

'$ scope.list ['2016-11-12']' –

+0

есть ли способ доступа по номеру индекса вместо текста? –

+0

как '$ scope.list [1]' тогда я получу свой индекс «2016-11-12» –

ответ

0

Чтобы получить доступ к стоимости заказа на определенную дату:

$scope.list['2016-11-12'][0]['Order']

Для доступа значения баланса для заданной даты (вы опечатка баланс кстати):

$scope.list['2016-11-12'][0]['Balance']

0

Используйте скобки обозначения:

$scope.list['2016-11-12']; 

См Пример:

var app = angular.module('TestApp', []); 
 

 
app.controller("testCtrl", function ($scope) { 
 
    $scope.list = { 
 
    ItemCode:'item1', 
 
    '2016-11-12':[{Order:'1',Balanace:'2'}], 
 
    '2016-11-15':[{Order:' ',Balanace:' '}] 
 
}; 
 
    
 
    $scope.test = $scope.list['2016-11-12']; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="TestApp"> 
 
    <div ng-controller="testCtrl"> 
 
    {{test}} 
 
    </div> 
 
</div>

+0

Вы не должны отвечать на вопросы, которые являются основными. Вы должны искать нужный пост и отмечать его как дубликат. – Rajesh

+0

. Я склонен согласиться с вами на этом, я должен сказать ... У меня были сомнения при публикации ответа. –

0

То, что вы назвали $ scope.list на самом деле объект, а не массив, как вы, кажется, ожидать. «2016-11-12» - это поле объекта, имеющего значение массива, внутри которого есть только один объект. Более гибкий способ построения объекта - разместить объекты в массиве внутри объекта item и затем получить к ним доступ по индексу.

$scope.list = { 
ItemCode:'item1', 
ThingsArray:[ 
{Date:'2016-11-12', Order:'1',Balanace:'2'}, 
{Date:'2016-11-15', Order:' ',Balanace:' '} 
] 
} 

Затем вы можете получить доступ к ним с помощью $scope.list.ThingsArray[0] Обратите внимание, что я переехал даты в самих объектов.

Смежные вопросы