首页 > 解决方案 > 如何使用“Yup”库计算数组中所有元素的总和并用数字检查?

问题描述

有对象数据

{
  products: [{id: 1, sum: 10}, {id: 2, sum: 50}],
  total: 60
}

我的“是的”电路看起来

const schema = yup.object().shape({
  products: yup.array().of(yup.object().shape({
    id: yup.number().required(),
    sum: yup.number().required(),
  }))
  .min(1)
  .required(),
  total: yup.number().min(10).required(),
});

我想摆脱我的功能

const checkSum = (data) => {
  let productsTotal = 0;
  const {products, total} = data;
  products.forEach((product) => {
    productsTotal += product.sum;
  });

  if (productsTotal !== total ) return false;

  return true;
}

你能告诉我这可以用“yup”来完成吗?

标签: javascriptyup

解决方案


推荐阅读