JS-封装函数getValue(key),实现获取请求数据中的value值

题目的详细说明:比如有一个请求地址 url = “http://www.baidu.com?name=apple&price=5000&location=beijing“,要求封装一个函数getValue(key),当输入请求数据中的key时,得到对应的value。例如getValue(“name”) = “apple”。

我的解题思路如下,见代码:

// 假设请求的url地址为
var url = "http://www.baidu.com?name=apple&price=5000&location=beijing";
function getValue(key){
    // 获取请求数据在url中的下标
    var index = url.indexOf("?");
    // 截取请求数据的字符串
    var str = url.substr(index + 1); // name=apple&price=5000&location=beijing
    // 将字符串转成数组,则每一对key和value目前是一个字符串,“=”左侧的为key,右侧为value
    var arr = str.split("&"); // ["name=apple", "price=5000", "location=beijing"]
    // 遍历得到的数组,然后将每个元素再次使用split方法转换成数组,则数组的一项为key,第二项为value,判断每一个数组的第一项是否与传入的参数key相同,相同则返回数组的第二项,即获得了匹配的value
    for (var i = 0; i < arr.length; i++) {
        newArr = arr[i].split("=");
        if (key === newArr[0]) {
            return newArr[1];
        }
    }
    alert("The key is not exist");
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C# ,可以通过 Enum 类型的 GetValues 方法获取枚举类型的所有,然后通过 Enum 类型的 GetName 方法获取枚举的名称。然后,使用反射获取枚举类型的 FieldInfo 对象,再使用 FieldInfo 对象的 GetValue 方法获取枚举的实际。 以下是一个示例代码: ``` using System; using System.Reflection; enum Fruit { Apple, Banana, Orange } class Program { static void Main(string[] args) { Fruit fruit = Fruit.Apple; string fruitName = fruit.ToString(); // 获取枚举的名称 FieldInfo fieldInfo = typeof(Fruit).GetField(fruitName); // 获取枚举的 FieldInfo 对象 object[] attrs = fieldInfo.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false); // 获取枚举的 DescriptionAttribute 属性 string fruitDescription = (attrs.Length > 0 ? ((System.ComponentModel.DescriptionAttribute)attrs[0]).Description : fruitName); // 获取枚举的描述 Console.WriteLine(fruitDescription); // 输出“Apple” } } ``` 在这个示例,我们首先定义了一个枚举类型 Fruit,其包含三个枚举:Apple、Banana 和 Orange。然后,我们定义了一个 fruit 变量,将其设置为 Fruit.Apple。接下来,我们使用 fruit.ToString() 方法获取 fruit 变量的名称,并使用 typeof(Fruit).GetField(fruitName) 方法获取 fruit 变量的 FieldInfo 对象。然后,我们使用 FieldInfo 对象的 GetCustomAttributes 方法获取 fruit 变量的 DescriptionAttribute 属性,如果存在该属性,则获取,否则返回 fruit 变量的名称。最后,我们输出 fruit 变量的描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值