understanding decision table in javascript

前端 未结 2 2038
温柔的废话
温柔的废话 2021-01-28 13:48

I was just going through the code of Jbox and cam across the following snippet of code:

// Internal functions, used to easily get values
    this._getOpp = func         


        
2条回答
  •  感情败类
    2021-01-28 14:08

    It's a technique that I know as a decision table (a wrote a blog post about them a while ago), but other might call it by different names.

    It uses the square bracket notation in the same way you'd reference the index of an array:

    var arr = [0, 2, 3];
    return arr[1]; // return the second value in the array
    

    Because object properties are key/value pairs it works like this:

      return {
        left: 'right', 
        right: 'left', 
        top: 'bottom', 
        bottom: 'top',
        x: 'y', 
        y: 'x'
      }[opp]
    

    It will actually return the string value, to the key opp.

    i.e. if opp is 'right', it will return 'left'.

    n.b. the wiki page on decision tables is also worth a read

提交回复
热议问题