内部具有4个属性的对象数组。我想获取该数组内所有对象内的特定属性的值。
这是我使用的一些代码
state = {
Controls: [{
id: null,
property: '',
description: '',
part: '',
}]
}
getPropertyValue(){
const {propertyValue} = document.querySelector('#property').value;
if (propertyValue=== 1){
return
<Input>
<option>1</option>
<option>2</option>;
</Input>;
}
if (propertyValue === 2){
return
<Input>
<option>3</option>
<option>4</option>
</Input>;
} else {
return '';
}
}
这是render()return()内部的属性选择输入
<Input
type="select"
name="property"
id="property"
onChange={(e) => this.onChange(i, e.target.value,
'property')} value={this.getValue(i, 'property')}
placeholder="type"
>
<option value="1">value 1</option>
<option value="2">value 2</option>
</Input>
我希望一旦用户在“属性选择输入”中选择了一个选项,结果就会显示另一个选择输入。属性输入中的选定值将确定将在表单中显示或添加哪些选择输入。
---问题是该属性输入可以不止一个(因为我有一个“添加按钮”,一旦单击该按钮,便会添加一个新的属性输入)。我想从属性输入(数组中的对象属性)获取所有值。 ---
答案 0 :(得分:0)
您可以使用array.map函数遍历数组并返回任何属性的值。
getValuesOfProperty(propertyName){
return this.state.Controls.map(object => object[propertyName]);
}
// To get all the ids inside array
const ids = getValuesOfProperty('id');
// To get all the descriptions inside array
const descriptions = getValuesOfProperty('description');