首页 > 解决方案 > 循环内的返回语句(算法脚本)

问题描述

我正在做一个算法,该函数有 2 个参数,一个数组和另一个对象。如果数组中对象中的一个值与第二个参数的一个值匹配,那么我需要返回该数组对象。我的退货声明不起作用

function whatIsInAName(collection, source) {
    let r = Object.values(source);

    console.log(r);
    for (let i = 0; i < collection.length; i++) {
        console.log(Object.values(collection[i]));

        if (Object.values(collection[i]) == r) {
            return Object.values(collection[i])
        }
    }
}

样品测试:

whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" }));

return 语句不起作用,所以我什至无法判断我的逻辑是错误的还是写的

标签: javascript

解决方案


我认为这就是您要实现的目标。

function whatIsInAName(collection, source) {
    let r = Object.values(source);

        for (let i = 0; i < collection.length; i++) { 

          if (collection[i].last == source.last) {

              return Object.values(collection[i])
          }
        }

}
var data = whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });

console.log(data);

推荐阅读