get 接口数据处理

function getObj(object) {
  let url = ''

  for (const key in object) {
    if (Object.hasOwnProperty.call(object, key)) {
      const element = object[key];
      if (element) {
        url = url.concat(key,'=',element,'&')
      }
    }
  }
  
  url = url.slice(0,url.length-1)

  return url
  
}

将一个对象转换为一个URL查询字符串。

使用for...in循环遍历object对象的所有可枚举属性。

使用Object.hasOwnProperty方法来检查object对象自身(不包括其原型链)是否具有名为key的属性。这是为了确保我们只处理对象自身的属性,而不是继承自原型链的属性。

获取object对象中名为key的属性的值,并将其存储在变量element中。

检查element是否有“真实”值。在JavaScript中,以下值被认为是“假值”:false0"" (空字符串), nullundefined, 和NaN。如果element不是这些值之一,它将进入此条件块。

使用concat方法将key=element&拼接到url字符串上。这实际上是构建一个URL查询字符串的标准格式,例如key1=value1&key2=value2

使用slice方法从url字符串中删除最后一个字符(即最后的&字符)。因为我们是在循环中为每个属性都添加了&,所以最后一个属性后面会有一个多余的&,需要将其删除

示例:

const obj = {
  name: "Alice",
  age: 25,
  city: "New York"
};

const queryString = getObj(obj);
console.log(queryString);  // 输出: "name=Alice&age=25&city=New%20York"

注意:在上面的示例中,字符串"New York"被URL编码为"New%20York",因为在URL中,空格字符需要被替换为%20。此函数没有处理URL编码,所以在实际应用中,您可能需要使用如encodeURIComponent这样的函数来处理属性值中的特殊字符。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值