[英]How do I return an array of objects with certain conditions in Javascript?
[英]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.