TypeScript:将键-值类型反向映射到值-键

时间:2020-03-20 03:50:32

标签: typescript

给出一个对象类型:

type Key2Value = {
  foo: "bar"
  voo: "doo"
}

假设该类型的值始终是字符串类型,如何构造实用程序类型ReverseMap<T>来将键-值对反向映射到值-键对?

type Value2Key = ReverseMap<Key2Value>
// yields:
type Value2Key = {
  bar: "foo"
  doo: "voo"
}

1 个答案:

答案 0 :(得分:1)

$('#side-enquiry').click(function() {
        //set to init
        $('#error_message').html('');
        $('#success_message').html('');
        var side_name = $('#side_name').val();
        var side_email = $('#side_email').val();
        var side_phone = $('#side_phone').val();
        var side_branches = $('#side_branches').val();
        var side_grade = $('#side_grade').val();
        var side_dob = $('#side_dob').val();
        var side_address = $('#side_address').val();
        var side_message = $('#side_message').val();
        if (side_name == '' || side_email == '' || side_phone == '' || side_branches == '' || side_grade == '' || side_dob == '' || side_address == '' || side_message == '') {
            $('#error_message').html("All Fields are required");
        } else {
            $.ajax({
                url: "sideform.php",
                method: "POST",
                data: {
                    side_name: side_name,
                    side_email: side_email,
                    side_phone: side_phone,
                    side_branches: side_branches,
                    side_grade: side_grade,
                    side_dob: side_dob,
                    side_address: side_address,
                    side_message: side_message
                },
                success: function(data) {
                    $("form").trigger("reset");
                    $('#success_message').fadeIn().html(data);
                    setTimeout(function() {
                        $('#success_message').fadeOut("Slow");
                    }, 2000);
                },
                error: function(xhr, status, error){
                    var errorMessage = xhr.status + ': ' + xhr.statusText
                    $('#error_message').html(errorMessage);
                }
            });
        }
        return false;
    });

Playground