【常用函数之】javascript/Jquery

数组

find 方法:在数组中查找满足某个条件的元素

let arr = [{id: 29,keyword_name: "牛皮纸"}]
let json = arr.find(function(item){
    return item.id == 29
})
//json = {id: 29,keyword_name: "牛皮纸"}

indexOf()查询数组中是否有某个值

arr.indexOf(某元素) //某元素在数组中的下标,如果不存在返回-1

if(arr.indexOf(某元素) > -1){//则包含该元素}

arr.indexOf(某元素,4); //以上输出结果意味在数组的第四个下标(从0开始)开始检索:

filter方法:在数组中查找满足某个条件的所有元素数组

let expandList = [{id: 29, keyword_name: "牛皮纸", type: 0, parent_id: 0}]
let jsonArr = expandList.filter(function(item){return item.id == 29})
//[{id: 29, keyword_name: "牛皮纸", type: 0, parent_id: 0}]

 javascript高效拼接参数为数组


function getParamsArr(){
     var urlParamStr = window.location.search;//?xxx=xxx&yyy=yyy
     strUrl = urlParamStr.slice(1);//xxx=xxx&yyy=yyy
 
     //拼接数组
     var arrUrl = strUrl.split('&');
     var arrUrl1 = arrUrl.map((ele)=>ele.split('='));
     var paramsArr = arrUrl1.reduce(function(pre,cur){
        pre[cur[0]] = decodeURIComponent(cur[1]);
        return pre;
     },[]);
      return {strUrl:strUrl,paramsArr:paramsArr };//[xxx:xxx,yyy:yyy]
}

var list = getParamsArr();
if(list.strUrl.IndexOf("xxx")&& list.paramsArr.xxx.length>0){
  //存在某个参数
}

//参考:https://www.cnblogs.com/hongmaju/p/5510988.html

二维数组

flat()与flatMap()

https://es6.ruanyifeng.com/?search=%E4%B8%80%E7%BB%B4&x=0&y=0#docs/array#%E6%95%B0%E7%BB%84%E5%AE%9E%E4%BE%8B%E7%9A%84-flat%EF%BC%8CflatMap

多维数组转一维

二维数组的降维arr.flat(),拉平数组

[1,[2,3],,4,[5,[6,7]]].flat()//[1, 2, 3, 4, 5, Array(2)]

在flat中填写2,拉平到第二层 

[1,[2,3],,4,[5,[6,7]]].flat(2)//[1, 2, 3, 4, 5, 6, 7]

在flat中填写Infinity,拉平到最后一层 

[1,[2,3],,4,[5,[6,7]]].flat(Infinity)//[1, 2, 3, 4, 5, 6, 7]

 

 

flatMap() 实现统计二维数组二维个数组成新数组

相当于 map()


对象

对象转数组

Array.from(object) 
Object.values(object)
Object.keys(object) //对象下标转数组
Object.entries(object) //对象下标、元素组成的键值对数组

https://www.cnblogs.com/JiAyInNnNn/p/11451000.html

 

其他

HTML中调用方法传递对象参数

//
let paramsJson = {
    keyword_name : item.word,
    cid: cid,
    type: item.word == core_keyword.name? 0 :1,
    parent_id: item.word == core_keyword.name? 0 :core_keyword.id,
    //index:index*1+1,
    isAddCancelBtn: false
};
let paramsJsonStr = JSON.stringify(paramsJson)
let html = "<span class='s_cancel_btn' onclick='removeKeyword(\""+paramsJsonStr+"\")'>取消 </span>" ;

 

dom操作

删除某个元素下面的指定的子元素 .remove

$(".tabs").children(".tab").remove()//移除tabs下class为.tab的子元素

在某个元素后面新增元素 .after

$("tbody").children('tr:last').after("<tr class="c_w_index_78_4">...<tr>");

找到当前元素的某个兄弟元素

$(".filedroplistner").siblings("#errorExplanation").html()
或者
$(".filedroplistner").parent().children("#errorExplanation").html()

 

scrollIntoView(true) 跳转到指定位置

$("#errorExplanation")是jquery对象,$("#errorExplanation")[0]是dom对象

$("#errorExplanation")[0].scrollIntoView(true)

window.scrollTo 跳转到指定位置

window.scrollTo(0,0)

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值