将数据匹配到数组并返回值

时间:2013-11-07 18:24:46

标签: javascript

是否可以设计一个具有如下数组的函数,并使用if语句检查下面我的数组中的任何类别中的类型是否等于以下内容并返回其关联类别代码?

示例:

function CheckCategory(type) {

array = 

[NOTES, CAT-A],
[BOOKS, CAT-B],
[MUSIC, CAT-C],
[SOFTWARE, CAT-D]

if (type == "NOTES") { return "CAT-A" }


}

3 个答案:

答案 0 :(得分:1)

怎么样?
var CatTable={"NOTES": "CAT-A", "BOOKS": "CAT-B", "MUSIC": "CAT-C", "SOFTWARE": "CAT-D"};

function  CheckCategory(type) {
  if (CatTable[type]) return CatTable[type];
  else return "UNKNOWN CATEGORY"
}

答案 1 :(得分:0)

function CheckCategory(type) {
    var data = [
        ['NOTES', 'CAT-A'],
        ['BOOKS', 'CAT-B'],
        ['MUSIC', 'CAT-C'],
        ['SOFTWARE', 'CAT-D']
    ];

    for( i = 0; i < data.length; i++) {
        if (data[i][0] == type) {
            return data[i][1];   
        }
    }

    return "Not found";
}

http://jsfiddle.net/Mansfield/5s8wr/2/

答案 2 :(得分:0)

您可以将array变量声明为二维数组(数组数组):

function checkCategory(type) {
    var array = [
        ['NOTES', 'CAT-A'],
        ['BOOKS', 'CAT-B'],
        ['MUSIC', 'CAT-C'],
        ['SOFTWARE', 'CAT-D']
    ];

    // Then, simply loop over your array and check for the type
    for (var i = 0; i < array.length; i++) {

        if (type == array[i][0]) {

            // It will return the CAT-X of the matching type
            return array[i][1];
        }
    }
}

此外,您可以将变量声明为对象,并返回type属性的值:

function checkCategory(type) {
    var values = {
        NOTES: 'CAT-A',
        BOOKS: 'CAT-B',
        MUSIC: 'CAT-C',
        SOFTWARE: 'CAT-D'
    }

    return values[type];
}