微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未定义的数组操作

如何解决未定义的数组操作

这里可能是一个简单的方法,但只是想知道让这项工作发挥作用的最佳方法是什么。我目前将 purchaseUnitArray 的 console.log 设为未定义,我知道有些事情看起来不太对劲。我只想返回一个purchaseUnits 数组,每个都带有个人慈善机构non_profit id 和拆分金额。任何帮助都会很棒。谢谢!

const charities = [948,182,584];
const amount = 1000;

const splitPurchaseUnits = (nonprofit_id,amount) => {
  const purchaseUnit = {
    custom_id: `${nonprofit_id}`,amount: {
      value: amount,currency_code: "USD",breakdown: {
        item_total: {
          currency_code: "USD",value: amount,},};
};

const purchaseUnitArray =
  charities &&
  charities.map((charity) => {
    return splitPurchaseUnits(charity,amount / charities.length);
  });

console.log(purchaseUnitArray,"array");

解决方法

尝试implicit return喜欢:

const charities = [948,182,584];
const amount = 1000;

const splitPurchaseUnits = (id) => ({
  custom_id: id,amount: {
    value: amount / charities.length,currency_code: 'USD',breakdown: {
      item_total: {
        currency_code: 'USD',value: amount,}
    }
  }
});

const purchaseUnitArray = charities.map(splitPurchaseUnits);
console.log(purchaseUnitArray)

,

看起来您没有在函数末尾返回 purchaseUnit!你可以这样做:

return purchaseUnit;

或者改为:

return {
  custom_id: nonprofit_id,// etc
}

(或像其他答案显示的那样完全删除返回)。

提醒一下,splitPurchaseUnits 的末尾似乎缺少一个括号。不确定创建问题时是否存在错误或意外。

,

您需要从函数 splitPurchaseUnits 返回一些值,否则由 JS 内部返回 undefined

const charities = [948,584];
const amount = 1000;

const splitPurchaseUnits = (nonprofit_id,amount) => {
  const purchaseUnit = {
    custom_id: `${nonprofit_id}`,amount: {
      value: amount,currency_code: "USD",breakdown: {
        item_total: {
          currency_code: "USD",},};

  return purchaseUnit;
};

const purchaseUnitArray =
  charities &&
  charities.map((charity) => {
    return splitPurchaseUnits(charity,amount / charities.length);
  });

console.log(purchaseUnitArray,"array");

,

我会这样做:

const charities = [948,584];
const amount    = 1000;

const splitPurchaseUnits=(charities,amount)=>charities.map(nonprofit_id=>
     ({ custom_id: `${nonprofit_id}`,amount: 
        { value: amount,breakdown: 
          { item_total: 
            { currency_code: 'USD',value: amount
      } } } }))


console.log( splitPurchaseUnits(charities,amount) )
.as-console-wrapper {max-height: 100%!important;top:0;}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。