繁体   English   中英

如何在 Javascript 的数组中返回仅包含某个 object 的对象数组?

[英]How do I return an array of objects that only contains a certain object in an array for Javascript?

我有一个称为演员的 object 数组:

const actors =  [{
   "name": "John Doe",
   "rating": 1234,
   "alternative_name": null,
   "objectID": "551486300"
},
{
   "name": "Jane Doe",
   "rating": 4321,
   "alternative_name": "Monica Anna Maria Bellucci",
   "objectID": "551486310"
}];

我特别想知道演员的名字和收视率。 我尝试通过制作一个名为 actorNameRating 的 function 来获得它,但我的代码不起作用。

const nameAndRating = function() {

    const actorName = nameAndRating.filter(name);
    return actorName;

    const actorRating = nameAndRating.filter(rating);
    return actorRating;
 };

返回后的任何事情都不会执行,您可以将两个值作为一个字符串返回,然后将其分开,例如:

const nameAndRating = function() {
    const actorName = nameAndRating.filter(name);
    const actorRating = nameAndRating.filter(rating);
    return actorName+","+actorRating;
 };

或您认为更适合您使用的任何其他方式

您可以通过map和 function 并仅返回名称和评级:

 const actors = [{ "name": "John Doe", "rating": 1234, "alternative_name": null, "objectID": "551486300" }, { "name": "Jane Doe", "rating": 4321, "alternative_name": "Monica Anna Maria Bellucci", "objectID": "551486310" }]; const nameAndRating = function() { return actors.map(actor => ({ name: actor.name, rating: actor.rating })) }; console.log(nameAndRating())

您可以为此简单地使用Array.map

 const actors = [{ "name": "John Doe", "rating": 1234, "alternative_name": null, "objectID": "551486300" }, { "name": "Jane Doe", "rating": 4321, "alternative_name": "Monica Anna Maria Bellucci", "objectID": "551486310" }]; let result = actors.map(({name, rating}) => ({name, rating})); console.log(result);

或者,如果您希望它们在两个单独的 arrays 中,则可以使用通用 function 来返回给定道具的值数组:

 const actors = [{ "name": "John Doe", "rating": 1234, "alternative_name": null, "objectID": "551486300" }, { "name": "Jane Doe", "rating": 4321, "alternative_name": "Monica Anna Maria Bellucci", "objectID": "551486310" }]; let getPropValues = (arr, prop) => arr.map(o => o[prop]); console.log("Names = ",getPropValues(actors, "name")); console.log("Ratings = ",getPropValues(actors, "rating"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM