数组
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()
二维数组的降维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)