forEach ()方法的使用
axios({
params: { id: 1,
xxx: 'abc' } })
//要得到id= 1&xxx=abc
/*Object.keys() 方法会返回
一个由一个给定对象的自身可枚举属性组成的数组,
数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。 Object.keys({a:1,b:2,c:3,})
结果是 ["a","b","c"];
["a","b","c"].foreach(curr=>{});
箭头函数 等价于 ["a","b","c"].foreach( function (curr) {console.log(curr);}) a=1b=2c=3
*/
/*
params: { id: 1,
xxx: 'abc' }
*/
let queryString = '';
Object.keys(params).forEach(key => {
// ["id","xxx"]
/*function (key) {
queryString += `${key}=${params[key]}&`
*/
queryString += `${key}=${params[key]}&`
//比如 x+=y,相当于x=x+y
// queryString = queryString + `${key}= ${params[key]}&`
//id = 1? xxx='abc'&
})
if (queryString) { // id=1&xxx=abc&
//去掉最后的&
//JavaScript substring() 方法 substring() 方法返回字符串的子字符串。
// stringObject.substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符。
//start=beginIndex -- 起始索引(包括), 索引从 0 开始。
//stop=endIndex -- 结束索引(不包括)。
queryString = queryString.substring(0, queryString.length - 1)
//拿到的其实就是id=1&xxx=abc
//接到url
url += '?' + queryString
//url = url + ?+queryString---url?id=1&xxx=abc
}
'''js
// array.forEach(callbackfn[, thisArg]);
// 参数说明如下:
// array:一个数组对象。
// callbackfn:必需参数,最多可以接收三个参数的函数。forEach 将为数组中的每个元素调用 callbackfn 函数一次。
// thisArg:可选参数,callbackfn 函数中的 this 可引用的对象。如果省略 thisArg,则 this 的值为 undefined。
// 对于数组中出现的每个元素,forEach 方法都会调用 callbackfn 函数一次,采用升序索引顺序,但不会为数组中空元素调用回调函数。
// 除了数组对象之外,forEach 方法还可以用于有 length 属性且具有已按数字编制索引的属性名的任何对象,如关联数组对象、Arguments 等
// 回调函数语法如下:
// funtion callbackfn(value, index, array);
//最多可以使用三个参数来声明回调函数。回调函数的参数说明如下。
// value:数组元素的值。
// index:数组元素的数字索引。
// array:包含该元素的数组对象。
//下面示例使用 forEach 迭代数组 a,然后把每个元素的值和下标索引输出显示,代码如下:
// function f(value, index, array) {
// console.log("key[" + index + "]" + value);
// }
// let a = ['a', 'b', 'c'];
// a.forEach(f);
// 结果:a[0]a
//a[1]b
// a[2]c
//下面示例使用 forEach 迭代数组 a,然后计算数组元素的和并输出。
let a = [10, 11, 12],
sum = 0;
a.forEach(function(value) {
sum += value;
})
console.log(sum);
'''