微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于循环中的每个项目,您将如何迭代并返回不同数组中的项目?

如何解决对于循环中的每个项目,您将如何迭代并返回不同数组中的项目?

我有一个像这样的对象数组:

arrOfObjs =
[{type: "flower",egg: "something"},{type: "flower",egg: "something2"},{type: "notFlower",egg: "something3"},egg: "something4"}]

数组中的每个对象都有一个“类型”。每当用户点击页面上的一个项目时,就会将另一个对象添加到数组中,类型为“flower”或“notFlower”

我有一个这样的数组:

allProperties = 
["flower_style_1","flower_style_2","flower_style_3","flower_style_4","flower_style_5","flower_style_6","flower_style_7","flower_style_8"]

正如你所知道的,它本质上是flower_style_,然后是一个最多为 8 的数字。

对于 arrOfObjs 中 type = 花的每个项目,以及添加的任何新项目,都应该有一个 return 语句,其中返回的主题是 allProperties 数组中的内容

例如,在上面的 arrOfObjs 中:

  1. 对于 {type: "flower",egg: "something"} => 返回 "flower_style_1"。
  2. 对于 {type: "flower",egg: "something2"} => 返回 "flower_style_2"。
  3. 不要为{type: "notFlower",egg: "something3"}返回任何内容
    因为它不是“类型”:花。
  4. 对于 {type: "flower",egg: "something4"} => 返回 "flower_style_3"。

一旦返回 allProperties 中的所有项目,然后从开始的 flower_style_1 开始,并为 arrOfObjs 中的每个新项目返回该元素。

到目前为止,我已经编写了以下内容,这是一个通过 arrOfObjs 的 foreach 循环。

    this.arrOfObjs?.forEach(arrItem => {
        if (arrItem.type === 'flower') {
            this.allProperties.forEach(element => {
                return element;
            }
        }
    });

但是它不起作用,我认为会有更有效的方法来实现这一目标。尤其是没有一个flower_style_数组.......

有人知道如何实现上述目标吗?

解决方法

      arrOfObjs =
[{type: "flower",egg: "something"},{type: "flower",egg: "something2"},{type: "notFlower",egg: "something3"},egg: "something4"}]

allProperties = 
["flower_style_1","flower_style_2","flower_style_3","flower_style_4","flower_style_5","flower_style_6","flower_style_7","flower_style_8"];


let getArray=[]; 
arrOfObjs?.forEach((arrItem,i) => {
        if (arrItem.type === 'flower') {
            getArray.push(allProperties[getArray.length]);
        }
    });  
    console.log(getArray);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。