我正在尝试根据它们的名称在不同的变量中找到每个链接值,例如,如果名称为facebook,那么facebooklink应该过滤,相同的lite twitter以及所有。但是不想给出索引号。有时fabook应该是索引,有时twitter会是0索引。请帮忙

socialMediaDetails:
            socialMediaDetail: Array(2)
            0:
            link: "[email protected]"
            name: "twitter"
            __typename: "SocialMediaDetail"
            __proto__: Object
            1:
            link: "[email protected]"
            name: "facebook"
            __typename: "SocialMediaDetail"
            __proto__: Object
            2:
            link: "[email protected]"
            name: "linkedIn"
            __typename: "SocialMediaDetail"

        const socialMediaData=socialMediaDetails.socialMediaDetail;

            const Steplabels = socialMediaData.filter((item) => {
              return item.name === "twitter"
            });


谢谢

最佳答案

您可以使用find方法,如下所示:

requiredMediaByName = (name) => {
 return state.socialMediaDetails.socialMediaDetail.find(data => data.name === name);
};
console.log(requiredMediaByName('facebook'));


请注意,find返回数组中的第一个匹配元素,并且如果您在第一次匹配时获得它,则不会检查其他元素。如果要返回所有元素,则应使用for循环并获取所有元素。

08-17 12:25