我收到如下响应。
[
{
id: '508',
class: 'class1',
value: '0',
profit: '2,
color: 'black'
},
{
id: '509',
class: 'class2',
value: '0',
profit: '0',
color: 'black'
},
{
id: '510',
class: 'class3',
value: '0',
profit: '0',
color: 'black'
},
{
id: '511',
class: 'class',
value: '0',
profit: '2.40',
color: 'black'
}
]
我必须检查profit
密钥长度是否大于2个索引,某些条件是其他条件。
注意:如果利润值为0,则它将仅视为空值。
为此,我的操作如下。
const profitArrayLength = sortedProfitData.keys('profit').length;
console.log('profitArrayLength is', profitArrayLength);
但是,它在控制台中显示为未定义。
答案 0 :(得分:2)
答案 1 :(得分:0)
我不确定您要问的是什么,但这听起来好像您希望看到具有正利润的对象数量。为此,您需要使用过滤操作。过滤器对数组进行操作,根据条件检查每个元素,然后从满足该条件的元素中返回一个新数组。然后,您可以检查该数组的长度以查看有多少元素满足该条件。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
这是一个示例用法,您应该尝试理解该方法以应用于检查多少个项目具有正利润的情况。在这种情况下,我们拥有对象的值为a,b和c。在这里的伪造示例中,我将过滤出每个具有负“ b”值的项目,以查看有多少。然后,如果其中有两个以上,则输入一个代码块。
let arrayToFilter = [{
a: 0,
b: 0,
c: '',
}, {
a: 0,
b: -1,
c: '',
}, {
a: 0,
b: -7,
c: '',
}, {
a: 0,
b: 0,
c: '',
}];
let filteredArray = arrayToFilter.filter(function(arrayItem){
return arrayItem.b < 0;
});
if(filteredArray.length >=2){
// do something
}
我希望可以帮助您了解此数组操作!