几个小时以来,我一直在尝试找出如何在Angular中获取对象的值。
起初,我以为这不是一个对象,但是我已经执行了这一行,并向我表明:
console.log(typeof(Fruits));
我得到了这个答案:
fruits.component.ts:143 object
现在,我确定它是一个对象。我在网上搜索过,发现了一些类似的方法:
Object.values(Fruits)
// or
Object.keys(Fruits)
// or
Fruits.item_text
但是它没有用(也许我滥用了它们。)
所以我决定直接打印对象以查看该对象上的内容:
console.log(Fruits);
然后我得到了:
fruits.component.ts:144 (6) [{…}, {…}, {…}, {…}, {…}, {…}]0: {item_id: 1, item_text: "Banana"}1: {item_id: 2, item_text: "Apple"}2: {item_id: 3, item_text: "Orange"}3: {item_id: 4, item_text: "Pear"}4: {item_id: 5, item_text: "Peach"}5: {item_id: 6, item_text: "Pineapple"}length: 6__proto__: Array(0)
我的目标是获取数组中的每个“ item_text”:
["Banana", "Apple", "Orange", "Pear", "Peach", "Pineapple"]
如果这个问题确实很基本,对不起。
P.S:我正在运行Angular 10.0.7和TypeScript 3.9.7
答案 0 :(得分:0)
看来Fruits
是一个数组。您可以使用数组map
函数从对象元素中获取单个属性作为数组。
尝试以下
fruitNames = [];
...
this.fruitNames = this.Fruits.map(fruit => fruit['item_text']);
let Fruits = [ {item_id: 1, item_text: "Banana"}, {item_id: 2, item_text: "Apple"}, {item_id: 3, item_text: "Orange"}, {item_id: 4, item_text: "Pear"}, {item_id: 5, item_text: "Peach"}, {item_id: 6, item_text: "Pineapple"} ]
let fruitNames = Fruits.map(fruit => fruit['item_text'])
console.log(fruitNames);
typeof(Fruits)
显示object
在Javascript中,类Object
,Array
,Map
,Set
,WeakMap
,Set
和{{1} }被视为特殊类型,并且对于语句Date
成立。更多信息here。
答案 1 :(得分:0)
这是工作示例:
const arr = [{item_id: 1, item_text: "Banana"}, {item_id: 2, item_text: "Apple"}, {item_id: 3, item_text: "Orange"}, {item_id: 4, item_text: "Pear"}, {item_id: 5, item_text: "Peach"}, {item_id: 6, item_text: "Pineapple"}];
const result = arr.map((item) => item.item_text);
console.log(result);