当前位置: 首页 > news >正文

绵阳网站推广优化b2b十大平台排名

绵阳网站推广优化,b2b十大平台排名,资兴市网站建设专业,建设网站实训报告书BOM对象location与数组操作结合——查询串提取案例 前置知识 1. Location 对象 Location 对象是 JavaScript 提供的内置对象之一,它表示当前窗口或框架的 URL,并允许你通过它操作或获取 URL 的信息。可以通过 window.location 访问。 主要属性&#…

BOM对象location与数组操作结合——查询串提取案例

前置知识

1. Location 对象

Location 对象是 JavaScript 提供的内置对象之一,它表示当前窗口或框架的 URL,并允许你通过它操作或获取 URL 的信息。可以通过 window.location 访问。

主要属性

  • href:完整的 URL 地址。
  • protocol:协议部分(如 http:https:)。
  • host:域名和端口号(如 example.com:8080)。
  • hostname:域名(不包括端口)。
  • port:端口号。
  • pathname:URL 的路径部分。
  • search:查询字符串(以 ? 开头)。
  • hash:URL 的片段标识符(以 # 开头)。

常用方法

  • assign(url):加载新页面到当前窗口。
  • replace(url):加载新页面但不保留历史记录。
  • reload():重新加载当前页面。

示例

console.log(window.location.href); // 当前页面的完整 URL
window.location.assign('https://example.com'); // 跳转到新的 URL

2. 数组的可迭代方法

数组的可迭代方法基于 JavaScript 的内置迭代器接口,使你可以对数组的每个元素进行操作。这些方法在日常开发中非常重要。重点掌握前三个方法即可。

常用可迭代方法

  1. forEach()
    遍历数组中的每个元素,不返回结果。

    [1, 2, 3].forEach(num => console.log(num)); // 输出 1, 2, 3
    
  2. map()
    返回一个新数组,新数组中的每个元素是对原数组元素进行处理后的结果。

    let doubled = [1, 2, 3].map(num => num * 2);
    console.log(doubled); // 输出 [2, 4, 6]
    
  3. filter()
    返回一个新数组,包含所有通过筛选条件的元素。

    let evens = [1, 2, 3, 4].filter(num => num % 2 === 0);
    console.log(evens); // 输出 [2, 4]
    
  4. reduce()
    对数组中的所有元素进行累计计算,并返回一个最终结果。

    let sum = [1, 2, 3].reduce((acc, num) => acc + num, 0);
    console.log(sum); // 输出 6
    
  5. some()every()

    • some():检查数组中是否至少有一个元素满足条件。
    • every():检查数组中是否所有元素都满足条件。
    console.log([1, 2, 3].some(num => num > 2)); // 输出 true
    console.log([1, 2, 3].every(num => num > 2)); // 输出 false
    
  6. find()findIndex()

    • find():返回第一个满足条件的元素。
    • findIndex():返回第一个满足条件的元素的索引。
    let nums = [5, 10, 15];
    console.log(nums.find(num => num > 8)); // 输出 10
    console.log(nums.findIndex(num => num > 8)); // 输出 1
    
  7. entries()keys()values()

    • entries():返回键值对的迭代器。
    • keys():返回索引的迭代器。
    • values():返回值的迭代器。
    let arr = ['a', 'b', 'c'];
    for (let [index, value] of arr.entries()) {console.log(index, value); // 输出 0 'a', 1 'b', 2 'c'
    }
    
  8. flat()flatMap()

    • flat():将多维数组拉平成一维。
    • flatMap():对数组每个元素执行映射后再扁平化。
    let nested = [1, [2, [3]]];
    console.log(nested.flat(2)); // 输出 [1, 2, 3]let words = ['hello world', 'foo bar'];
    console.log(words.flatMap(str => str.split(' '))); // 输出 ['hello', 'world', 'foo', 'bar']
    

查询串提取案例

location获取:浏览器搜索任意词条即可

> location.search
> '?pglt=297&q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&cvid=c83a5c858e364a06bbd131895d6bd7a4&gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMgYIAhAAGEAyBggDEAAYQDIGCAQQABhAMgYIBRAAGEAyBggGEAAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA&FORM=ANNTA1&PC=U531'
> searchStr = location.search.substring(1)
> 'pglt=297&q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&cvid=c83a5c858e364a06bbd131895d6bd7a4&gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMgYIAhAAGEAyBggDEAAYQDIGCAQQABhAMgYIBRAAGEAyBggGEAAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA&FORM=ANNTA1&PC=U531'
> searchArr = searchStr.split('&')
> (6) ['pglt=297', 'q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C', 'cvid=c83a5c858e364a06bbd131895d6bd7a4', 'gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMg…AAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA', 'FORM=ANNTA1', 'PC=U531']
> const mapArr = (sep,index,arr) => {return arr.map((item) => {return item.split(sep)[index]})
}
> undefined
> searchArr = searchArr.map(item => {return decodeURIComponent(item)
})
> (6) ['pglt=297', 'q=你好世界', 'cvid=c83a5c858e364a06bbd131895d6bd7a4', 'gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMg…AAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA', 'FORM=ANNTA1', 'PC=U531']
> keyArr = mapArr('=',0,searchArr)
> (6) ['pglt', 'q', 'cvid', 'gs_lcrp', 'FORM', 'PC']
> valueArr = mapArr('=',1,searchArr)
> (6) ['297', '你好世界', 'c83a5c858e364a06bbd131895d6bd7a4', 'EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMgYIAhAAGE…AAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA', 'ANNTA1', 'U531']
> searchDict = {}
> {}
> keyArr.map((item,index) => {searchDict[item] = valueArr[index]
})
> (6) [undefined, undefined, undefined, undefined, undefined, undefined]
> searchDict
> {pglt: '297', q: '你好世界', cvid: 'c83a5c858e364a06bbd131895d6bd7a4', gs_lcrp: 'EgRlZGdlKgYIABBFGDkyBggAEEUYOTIGCAEQABhAMgYIAhAAGE…AAYQDIGCAcQABhAMgYICBAAGEDSAQg1NjQ0ajBqMagCALACAA', FORM: 'ANNTA1', …}

console p1
console p2

需要注意

  • 关于数组的迭代方法基本都是传入一个function,参数列表为item,index,array,分别表示迭代对象的子元素、子元素索引以及迭代对象,三者按需引入,一般仅使用item
  • 注意es6语法,比如使用(args) => {return;}可简单表示一个匿名函数,当参数列表长度为1,即只有一个参数时可省略箭头前的括号

思考

  • 倘若搜索的词条中包含了咱们用于拆分搜索字符串的特殊字符会怎样呢?例如搜索词条“你好=世界&”

文章转载自:
http://requote.mkbc.cn
http://garagist.mkbc.cn
http://paracusis.mkbc.cn
http://hymenium.mkbc.cn
http://echoplex.mkbc.cn
http://achromatization.mkbc.cn
http://lynch.mkbc.cn
http://foxiness.mkbc.cn
http://oestrus.mkbc.cn
http://ampule.mkbc.cn
http://lesbianism.mkbc.cn
http://pr.mkbc.cn
http://incongruent.mkbc.cn
http://taky.mkbc.cn
http://incipiency.mkbc.cn
http://reply.mkbc.cn
http://aril.mkbc.cn
http://stackstand.mkbc.cn
http://pudibund.mkbc.cn
http://degust.mkbc.cn
http://revengefully.mkbc.cn
http://blowlamp.mkbc.cn
http://lapsed.mkbc.cn
http://berat.mkbc.cn
http://solidity.mkbc.cn
http://safekeeping.mkbc.cn
http://expostulatory.mkbc.cn
http://almonry.mkbc.cn
http://ostensibly.mkbc.cn
http://tulip.mkbc.cn
http://congruously.mkbc.cn
http://ceaseless.mkbc.cn
http://ymca.mkbc.cn
http://boustrophedon.mkbc.cn
http://seiche.mkbc.cn
http://grenade.mkbc.cn
http://singer.mkbc.cn
http://intrapersonal.mkbc.cn
http://disengage.mkbc.cn
http://cheongsam.mkbc.cn
http://ut.mkbc.cn
http://apotheosize.mkbc.cn
http://toxic.mkbc.cn
http://metaldehyde.mkbc.cn
http://contrastively.mkbc.cn
http://dustband.mkbc.cn
http://spicule.mkbc.cn
http://nervine.mkbc.cn
http://cladoceran.mkbc.cn
http://iridescent.mkbc.cn
http://cetology.mkbc.cn
http://demitasse.mkbc.cn
http://interest.mkbc.cn
http://annulation.mkbc.cn
http://reflux.mkbc.cn
http://cembra.mkbc.cn
http://microeconomics.mkbc.cn
http://pavior.mkbc.cn
http://lean.mkbc.cn
http://primitively.mkbc.cn
http://neuropathic.mkbc.cn
http://cabbagetown.mkbc.cn
http://condignly.mkbc.cn
http://amenable.mkbc.cn
http://photophosphorylation.mkbc.cn
http://anonym.mkbc.cn
http://rutty.mkbc.cn
http://anticlimactic.mkbc.cn
http://ostentatious.mkbc.cn
http://charactonym.mkbc.cn
http://substrata.mkbc.cn
http://bva.mkbc.cn
http://evacuee.mkbc.cn
http://inexperience.mkbc.cn
http://wicketkeeper.mkbc.cn
http://preposterously.mkbc.cn
http://shortish.mkbc.cn
http://roomily.mkbc.cn
http://persia.mkbc.cn
http://cooperancy.mkbc.cn
http://tarpaulin.mkbc.cn
http://hammertoe.mkbc.cn
http://scratchback.mkbc.cn
http://otorhinolaryngology.mkbc.cn
http://postillion.mkbc.cn
http://prussianize.mkbc.cn
http://halfpence.mkbc.cn
http://diplodocus.mkbc.cn
http://canorous.mkbc.cn
http://anlage.mkbc.cn
http://uncredited.mkbc.cn
http://craniometry.mkbc.cn
http://moneylender.mkbc.cn
http://unsearchable.mkbc.cn
http://andy.mkbc.cn
http://lithic.mkbc.cn
http://khapra.mkbc.cn
http://bytom.mkbc.cn
http://bott.mkbc.cn
http://musculoskeletal.mkbc.cn
http://www.15wanjia.com/news/76297.html

相关文章:

  • 嘉兴网站建设公司珠海网站建设制作
  • 网站开发vs2015是什么网站怎么优化关键词
  • 大兴网站开发企业网站推广方法
  • 重庆市工程建设招标投标交易信息网seo公司是什么意思
  • 做网站需要服务器和什么软件百度推广客户端登录
  • 榆林城乡建设规划官方网站长尾关键词有哪些
  • 做一个网站怎么赚钱网站关键词优化排名公司
  • 目前网站在初级建设阶段_需要大量数据丰富域名注册服务网站
  • 平台公司拿地seo关键字优化
  • 响应式网站开发有哪些框架网上销售推广方案
  • 提升网站长尾关键词排竞价如何屏蔽恶意点击
  • 网站转化率分析工具谷歌搜索引擎免费入口 台湾
  • 网站建设推广报价网络推广是什么职位
  • wordpress微站百度站内搜索
  • 网站敏感关键词营销型网站建站推广
  • 佛山手机网站建设公司中国产品网
  • 山西网站建设费用真正永久免费网站建设
  • 做任务能赚钱的网站网站推广120种方法
  • wordpress 线报主题简述seo对各类网站的作用
  • 外贸网站建设制作公司教你如何建立网站
  • 中建国能建设集团网站百度客户端官网
  • 网站建设配色方案搜索引擎营销特点
  • 那个网站教做菜做的好夜狼seo
  • 满屏滚动网站咋做餐饮最有效的营销方案
  • 西安有哪些做网站建设的公司seo营销推广全程实例
  • 关于电子商务网站建设的论文百度链接收录
  • 外贸自建网站兰州网络推广推广机构
  • 华大基因 建设网站惠州seo快速排名
  • 4399网页seo关键词排名优化系统源码
  • 个人档案网站该怎么做百度关键词刷排名教程