4.1 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| a8e512fbe388ac2f9198f0fa | حيث الفن (Wherefore art thou) | 1 | 16092 | wherefore-art-thou |
--description--
قم بإنشاء function يبحث في array من الـ objects (الـ argument الأولى) ويرجع array من جميع الـ objects التي لديها أزواج مطابقة من name و value (الـ argument الثانية). يجب أن يكون كل name و value من الـ object المصدر، موجودا في الـ object من الـ collection، إذا كان يراد إدراجه في الـ array التي تم ارجاعها.
على سبيل المثال، إذا كانت الـ argument الأولى هي [{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], والـ argument الثانية هي { last: "Capulet" }، يجب عليك إعادة الـ object الثالث من الـ array (الـ argument الأولى)، لأنه يحتوي على الاسم وقيمته، وهذا ما تم إرساله كـ argument ثانية.
--hints--
whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" }) يجب ان يرجع [{ first: "Tybalt", last: "Capulet" }].
assert.deepEqual(
whatIsInAName(
[
{ first: 'Romeo', last: 'Montague' },
{ first: 'Mercutio', last: null },
{ first: 'Tybalt', last: 'Capulet' }
],
{ last: 'Capulet' }
),
[{ first: 'Tybalt', last: 'Capulet' }]
);
whatIsInAName([{ "apple": 1 }, { "apple": 1 }, { "apple": 1, "bat": 2 }], { "apple": 1 }) يجب ان يرجع [{ "apple": 1 }, { "apple": 1 }, { "apple": 1, "bat": 2 }].
assert.deepEqual(
whatIsInAName([{ apple: 1 }, { apple: 1 }, { apple: 1, bat: 2 }], {
apple: 1
}),
[{ apple: 1 }, { apple: 1 }, { apple: 1, bat: 2 }]
);
whatIsInAName([{ "apple": 1, "bat": 2 }, { "bat": 2 }, { "apple": 1, "bat": 2, "cookie": 2 }], { "apple": 1, "bat": 2 }) يجب ان يرجع [{ "apple": 1, "bat": 2 }, { "apple": 1, "bat": 2, "cookie": 2 }].
assert.deepEqual(
whatIsInAName(
[{ apple: 1, bat: 2 }, { bat: 2 }, { apple: 1, bat: 2, cookie: 2 }],
{ apple: 1, bat: 2 }
),
[
{ apple: 1, bat: 2 },
{ apple: 1, bat: 2, cookie: 2 }
]
);
whatIsInAName([{ "apple": 1, "bat": 2 }, { "apple": 1 }, { "apple": 1, "bat": 2, "cookie": 2 }], { "apple": 1, "cookie": 2 }) يجب ان يرجع [{ "apple": 1, "bat": 2, "cookie": 2 }].
assert.deepEqual(
whatIsInAName(
[{ apple: 1, bat: 2 }, { apple: 1 }, { apple: 1, bat: 2, cookie: 2 }],
{ apple: 1, cookie: 2 }
),
[{ apple: 1, bat: 2, cookie: 2 }]
);
whatIsInAName([{ "apple": 1, "bat": 2 }, { "apple": 1 }, { "apple": 1, "bat": 2, "cookie": 2 }, { "bat":2 }], { "apple": 1, "bat": 2 }) يجب ان يرجع [{ "apple": 1, "bat": 2 }, { "apple": 1, "bat": 2, "cookie":2 }].
assert.deepEqual(
whatIsInAName(
[
{ apple: 1, bat: 2 },
{ apple: 1 },
{ apple: 1, bat: 2, cookie: 2 },
{ bat: 2 }
],
{ apple: 1, bat: 2 }
),
[
{ apple: 1, bat: 2 },
{ apple: 1, bat: 2, cookie: 2 }
]
);
whatIsInAName([{"a": 1, "b": 2, "c": 3}], {"a": 1, "b": 9999, "c": 3}) يجب ان يرجع []
assert.deepEqual(
whatIsInAName([{ a: 1, b: 2, c: 3 }], { a: 1, b: 9999, c: 3 }),
[]
);
whatIsInAName([{"a": 1, "b": 2, "c": 3, "d": 9999}], {"a": 1, "b": 9999, "c": 3}) يجب أن يرجع []
assert.deepEqual(
whatIsInAName([{ a: 1, b: 2, c: 3, d: 9999 }], { a: 1, b: 9999, c: 3 }),
[]
);
--seed--
--seed-contents--
function whatIsInAName(collection, source) {
}
whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });
--solutions--
function whatIsInAName(collection, source) {
const arr = [];
const keys = Object.keys(source);
collection.forEach(function(e) {
if(keys.every(function(key) {return e[key] === source[key];})) {
arr.push(e);
}
});
return arr;
}