I do not understand if you really want to create an array or an object. In the example you mentioned, you are creating an object. In javascript you can access the properties of objects by name.
var my_obj = {'teste':{'name':'Teste 123'},'lorem':{'name':'Lorem Ipsum'}};
This would be a valid notation in your angle code:
{{ my_obj['lorem']['name'] }}
But this is more semantic and makes it easier to read:
{{ my_obj.lorem.name }}
You can still use both forms like this:
{{ my_obj['lorem'].name }}
Maybe you're confusing with an array because of this (I believe it's what you're looking for).
To declare an array you would do it this way:
var my_array = [{'name' : 'Teste 123' }, { 'name' : 'Lorem Ipsum' }];
However, the arrays can only be accessed by the index:
{{ my_array[0].name }} //acessando o primeiro elemento
To declare a simple list of strings, you could avoid the name
property:
var my_array = ['Teste 123', 'Lorem Ipsum'];
Accessing:
{{ my_array[0] }} //acessando o primeiro elemento
Finally, if you want to create a simple list of strings that can be accessed by an indexer name, the solution would be to create a yes object, almost that initial idea, but a little simpler. So:
var my_obj = { 'teste': 'Teste 123', 'lorem': 'Lorem Ipsum' };
Accessing:
{{ my_obj['lorem'] }} ou {{ my_obj.lorem }}