每五个组成一个数组
var spArray = function(N,Q)
{
var R = [],F;
for (F = 0;F < Q.length;) {
R.push(Q.slice(F,F += N))
}
return R
}
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14];
console.log(spArray(5,arr))
根据一个数组 过滤出另一个数组
var aim = [
{name:‘Anne’, age: 23, gender:‘female’},
{name:‘Leila’, age: 16, gender:‘female’},
{name:‘Jay’, age: 19, gender:‘male’},
{name:‘Mark’, age: 40, gender:‘male’}
]
var nameArr=[‘Leila’,‘Jay’]
// 根据多个名字筛选
function filterByName1(aim, nameArr) {
let newArray = []
aim.forEach(item => { //遍历arr
//此处如果需要留下重复元素,则将!去掉即可
//arr中的元素如果在ids中不存在,则添加到新数组中
if (!nameArr.includes(item.name)) {
newArray.push(item);
};
})
return newArray
}
console.log(filterByName1(aim,nameArr))
多条件过滤
let arr = [{
name: "q1121",
age: 12,
address: "辽宁大连1"
},
{
name: "q44",
age: 12,
address: "辽宁大连4"
},
{
name: "q55",
age: 12,
address: "辽宁大连5"
},
{
name: "q222",
age: 13,
address: "辽宁大连2"
},
{
name: "q332",
age: 12,
address: "辽宁沈阳1"
}
];
//筛选条件
let filter = {
name: "",
age: 12,
address: "辽宁",
};
//拿到有值的参数
let tempFilter = {};
for(key in filter) {
if(typeof(filter[key]) != "undefined" && typeof(filter[key]) != "null" && filter[key] != null && filter[key] != "") {
tempFilter[key] = filter[key];
}
}
//筛选
let resultArr = arr.filter(
(item) => {
let flag = false;
for(key in tempFilter) {
if(item[key].toString().indexOf(tempFilter[key].toString()) >= 0) {
flag = true;
} else {
flag = false;
break;
}
}
if(flag) {
return item;
}
}
);
console.log(resultArr);