首页 > 解决方案 > 在 JavaScript 中调用其中的某个函数时,只获取 for 循环中的第一个键

问题描述

我有一个功能CellDisplay。在另一个函数中调用这个函数forLaunch,这个函数在一个由对象数组组成的forLaunch循环中被再次调用。Obj.forEach如果我console.log(key)forLaunch函数中记录键,它只显示第一个键。我需要所有的键来显示。这是下面的代码

Javascript

const CellDisplay = item => {
  switch (item) {
    case 'item1':
      return 'one';
    case 'item2':
      return 'two';
    case 'item3':
      return 'three';
    case 'item4':
      return 'four';
    case 'item5':
      return 'five';
  }
};
const forLaunch = lData => {
  for (const key in lData) {
    console.log(key);
    return CellDisplay(key);
  }
}

const Obj = [{
  Id: 575,
  items: {
    item1: '2020-12-08T10:00:00.000+0000',
    item2: '2020-11-12T00:00:00.000+0000',
    item3: '2020-12-08T10:00:00.000+0000',
    item4: null,
    item5: '2020-12-08T10:00:00.000+0000'
  },
  active: false
}];
Obj.forEach(data => {
  forLaunch(data.items);
});

标签: javascript

解决方案


你的 for 循环中有一个 return 语句,所以一旦你第一次点击 return 语句,你就被打破了forLaunch方法,随后,退出了 for 循环。

例如,如果您要更改return CellDisplay(key)console.log(CellDisplay(key)),您将打印出所有 CellDisplay 值。


推荐阅读