Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我走对了吗?在JS中编写一个函数,该函数必须计算对象类别中的片段数_Javascript_Arrays - Fatal编程技术网

Javascript 我走对了吗?在JS中编写一个函数,该函数必须计算对象类别中的片段数

Javascript 我走对了吗?在JS中编写一个函数,该函数必须计算对象类别中的片段数,javascript,arrays,Javascript,Arrays,我是一个初学者,试图弄清这一点,但非常卡住!我需要编写一个函数,它接受一个customer对象数组,并返回一个新数组,该数组只包含购买了5件以上商品的客户。我认为可能有一种更简单的方法可以做到这一点,但我想不出来!我创建了对象,并试图使用.map计算数组的一部分并返回一个数组。我已经让它在这一点上返回一个数组,但这是我能做的最好的了。有人能帮忙吗?我试着添加TIA 功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurc

我是一个初学者,试图弄清这一点,但非常卡住!我需要编写一个函数,它接受一个customer对象数组,并返回一个新数组,该数组只包含购买了5件以上商品的客户。我认为可能有一种更简单的方法可以做到这一点,但我想不出来!我创建了对象,并试图使用.map计算数组的一部分并返回一个数组。我已经让它在这一点上返回一个数组,但这是我能做的最好的了。有人能帮忙吗?我试着添加TIA

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ] 让超过5项=Customers.mapfunctionelement{ 返回元素长度 }
console.log查看您实际查找的5个项目

Array.map返回一个新数组,该数组的元素数与输入的元素数相同,其中每个元素都是给定函数的结果

Array.filter返回一个新数组,其中每个输入元素通过给定函数中的测试

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ]; 让超过5项=Customers.filterfunctionelement{ 返回元素.itemsPurchased.length>=5; };
console.Logover5项 你真的在找

Array.map返回一个新数组,该数组的元素数与输入的元素数相同,其中每个元素都是给定函数的结果

Array.filter返回一个新数组,其中每个输入元素通过给定函数中的测试

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ]; 让超过5项=Customers.filterfunctionelement{ 返回元素.itemsPurchased.length>=5; };
console.Logover5项 您不想使用map,而是想使用filter。筛选器将仅返回匹配的元素

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ] const over5Items=Customers.filterelement=>element.itemsPurchased.length>5;
console.log over5Items您不想使用map,而是想使用filter。筛选器将仅返回匹配的元素

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ] const over5Items=Customers.filterelement=>element.itemsPurchased.length>5;
console.log over5Items当前地图代码中有错误。在示例中,我也修复了它

要回答您的问题,您需要使用filter函数来查找所需的项目。这是一篇很棒的文章,介绍了从对象中获取所需内容的不同方法:

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ] //如何使用.map提取所有购买内容 const allPurchases=Customers.mapfunctionelement{ return element.itemsPurchased.length//first length必须查看数组 } //如何筛选所有5次以上的购买 constover5items=Customers.filtercustomer=>customer.itemsPurchased.length>5; console.log所有购买
console.log over5Items当前地图代码中有错误。在示例中,我也修复了它

答 您的问题是,您需要使用筛选功能来查找所需的项目。这是一篇很棒的文章,介绍了从对象中获取所需内容的不同方法:

功能客户名称,itemsPurchased,numberOfItems{ this.name=名称; this.itemsPurchased=itemsPurchased; }; var客户=[ 新客户[牛奶、可乐、黄油、薯条], 新客户AM、[面粉、糖、香草、黄油、巧克力片、红糖], 新客户[火鸡、馅料、肉汁], ] //如何使用.map提取所有购买内容 const allPurchases=Customers.mapfunctionelement{ return element.itemsPurchased.length//first length必须查看数组 } //如何筛选所有5次以上的购买 constover5items=Customers.filtercustomer=>customer.itemsPurchased.length>5; console.log所有购买
console.log over 5Items是否有任何不适用于您的代码的内容?将return element.length更改为return element.itemsPurchased.length,则您是金色的。是否有任何不适用于您的代码的内容?将return element.length更改为return element.itemsPurchased.length,则您是金色的。
let over5Items = Customers.map((element) => {
    return element.itemsPurchased.length > 5;
})