是的 - 如何检查所有数组的长度是否相同

Yup - how to check if all arrays are of the same length

TLDR:如何检查所有 3 个数组的长度是否相同

我有一个可选对象 people,里面有一个数组 person_name 每个人都有喜欢和不喜欢。 我如何检查:

如果 一个人被输入 例如在索引 1 必须 有一个数组在 index 1 里面喜欢和不喜欢一样?

例如,这是被接受的:

{
    person_name: ['foo', 'bar'],
    likes: [['foo stuff'], ['bar stuff']],
    dislikes: [['bar shit'], ['foo shit']]
}

虽然这些不被接受:

{
    person_name: ['foo', 'bar'],
    likes: [['foo stuff'], ['bar stuff']],
    dislikes: [['bar shit']]
}

{
    person_name: ['foo'],
    likes: [['foo stuff'], ['bar stuff']],
    dislikes: [['bar shit']]
}

这是一个使用Formik的例子

const formik = useFormik({
    initialValues: {
      name: "",
      description: "",
      people: {
        //each index in person_name maps to an array at the same index in likes and dislikes
        person_name: [],
        likes: [[]],
        dislikes: [[]],
      },
    },...

这只是一个示例,因此您不必将答案应用于它 非常感谢你

简单数组长度

if (array.length < n){...}

检查child(数组内数组)

if (array.child.length < n){...}

对于 yup 您需要编写验证函数,检查 this