Skip to content

Latest commit

 

History

History
100 lines (92 loc) · 2.49 KB

README.md

File metadata and controls

100 lines (92 loc) · 2.49 KB

katex-answer-match

Build Status

npm install katex-answer-match

/**
 * 判断用户做题结果(Boolean)
 * katex_answer_match
 * @date 2018-07-05
 * modifyDate 2019-07-10
 * @description
 * 入参
 * extendedBlanks: 单空有多种答案,即等值情况  二维数组
 * groups: 多空之间支持乱序 二维数组
 * blanks 问题对应的正确答案(旧的CB数据,即字段blanks) 一维数组
 * userAnswers: 用户输入的答案 一维数组(必须传)
 * isSeq: boolean。true:结果返回由01构成的一维数组,表示每个空的正误,false:结果返回布尔值,表示该题的正误.
 * type: number, 目前只有一个枚举,1  该字段表示计算userAnswers和blanks之间是否相等的算法,1代表差集算法, 目前仅多选题用到此算法
 * 参数传入规则:1.仅兼容旧数据:userAnswers & blanks;2. 支持多答案乱序 userAnswers & extendedBlanks & groups (blanks可不传)
 *
 * @returns {boolean | arr} - 默认返回布尔值(isSeq:false)。
*/

前端

import judge from 'katex-answer-match'
judge.katex_answer_match(
    [' 123', '123'],
    {
        extendedBlanks: [
            ['1/2', '0.5'],
            ['red', 'r'],
        ],
        groups:[
            [0, 1]
        ],
        blanks:['1/2', 'red'],
        isSeq: true
    }
);
// type = 1 差集算法, 以下示例返回[1,1,0] 表示每个blanks的元素在userAnswers中是否存在
judge(
    ['a', 'b'],
    {
        blanks: ['b', 'a', 'c'],
        isSeq: true
    },
    1
)
// type = 1 差集算法,以下示例返回了false, 表示没有完全匹配
judge(
    ['a', 'b'],
    {
        blanks: ['b', 'a', 'c']
    },
    1
)

后端

const judge = require('katex-answer-match')
judge.katex_answer_match(
    [' 123', '123'],
    {
        extendedBlanks: [
            ['1/2', '0.5'],
            ['red', 'r'],
        ],
        groups:[
            [0, 1]
        ],
        blanks:['1/2', 'red'],
        isSeq: true
    }
);
// type = 1 差集算法, 以下示例返回[1,1,0] 表示每个blanks的元素在userAnswers中是否存在
judge(
    ['a', 'b'],
    {
        blanks: ['b', 'a', 'c'],
        isSeq: true
    },
    1
);
// type = 1 差集算法,以下示例返回了false, 表示没有完全匹配
judge(
    ['a', 'b'],
    {
        blanks: ['b', 'a', 'c']
    },
    1
);