作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个看起来像这样的类:
class Item {
constructor (color, size) {
this._color = color
this._size = size
}
get color() {
return this._color
}
然后我实例化一个基础项:
const pencil = new Item('yellow', 6)
然后我实例化几个子项:
pencil.eraser = new Item('red', 2)
pencil.lead = new Item('grey', 1)
我想以某种方式遍历每个子项。
var colors = [];
pencil.forEach(part => {
colors.push(part.color)
}
console.log(colors) //expected output: red, grey
这样的事情会很好,但我知道这是不可能的。
最佳答案
您可以获得对象属性的所有值,.filter()
到instanceof Item
,然后是.map()
他们的颜色。
class Item {
constructor (color, size) {
this._color = color
this._size = size
}
get color() {
return this._color
}
}
const pencil = new Item('yellow', 6)
pencil.eraser = new Item('red', 2)
pencil.lead = new Item('grey', 1)
var colors = Object.values(pencil)
.filter(v => v instanceof Item)
.map(p => p.color);
console.log(colors)
关于javascript - 遍历嵌套类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806531/
我是一名优秀的程序员,十分优秀!