js引入图片地址
require("../assets/logo.png")
map函数取出想要的部分字段
let arr = [{
id: 1,
name: "tony",
class: 1,
garde: 88
},{
id: 2,
name: "Tom",
class: 1,
grade: 90
},{
id: 3,
name: "Jack",
class: 1,
grade: 86
}];
let res = arr.map(({name, id}) => ({ id, name }))
console.log(res)
展示.png
let arr = [
{
'id': '1',
'name': '小红',
},
{
'id': '2',
'name: '小白',
},
{
'id': '3',
'name': '小黄',
}
];
// 使用map()生成数组
let new_arr = arr.map(obj => {return obj.name})
// 输出 ['小红','小白','小黄']
把两个数组里的多个对象一一对应合并?es6的拓展...符
方法1
var obj1 = [{
"id": 980550455852,
"model": "XQG70-S1208FW",
"color": "白",
"invStatusName": "正品",
"bactualQty": 10947,
"brealyQty": 11000,
"bavailQty": 53
}, {
"id": 980550566221,
"model": "XQB70-C3006",
"color": "灰",
"invStatusName": "正品",
"bactualQty": 11,
"brealyQty": 6,
"bavailQty": -5
}];
var obj2 = [{
"price": "6666"
}, {
"price": "8888"
}];
let res = obj1.map((o,i) => { return {...o,...obj2[i]}});
console.log(res)
方法2
//es2015实现合并对象函数代码
function assign(target, args) {
if (target === null) return;
if (Object.assign) {
return Object.assign(target, args);
} else {
var _ = Object(target);
for (var j = 1; j < arguments.length; j++) {
var source = arguments[j];
if (source) {
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
_[key] = source[key];
}
}
}
}
return _;
}
};
var result = obj1.map(function(o,index){
console.log(o)
console.log(index)
return assign(o,obj2[index]);
})
console.log(result)
展示.png
像数组中对象添加数据
records=[{"status":"1"},{"status":"1"}];
records.forEach(item => {
item.addState = 1;
})
console.log(records)
image.png
像数组中点击添加对象
let Polyline1=[];
let lon0 = e.point.lng;
let lat0 = e.point.lat;
Polyline1.push({lon:lon0,lat:lat0})
Polyline0(Polyline1)
获取下标
JavaScript findIndex() 方法
对象
var obj = {'id':1,'name':'叶落森','sex':'女'};
var arr = Object.keys(obj);
console.log(arr); // ['id','name','sex']
console.log(arr.length); //3
Object.keys可以获取key值
Object.keys(obj)
Object.values可以获取value值
Object.values(obj)
对象取值
data(){
return{
list:{"li":{aa:[],bb:"1111"}}
}
},
console.log(this.list.li.aa)
let tye = 'li'
console.log(this.list[tye].aa)
forEach应用
image.png
https://www.cnblogs.com/hdnav/p/8309773.html
数组元素拼接
https://cloud.tencent.com/developer/article/1352082
let phone=['小米','三星','苹果','一加','乐视','OPPO','VIVO','魅族','联想'];
let newphone=phone.map((x)=>{
return x+'手机'
console.log(x)
})
console.log(phone,newphone)
image.png
以逗号分隔新数组
var str = "aaa,bbb,ccc";
var arr = str.split(',');
//检测是不是数组的实例
console.log(arr instanceof Array);//true
js 删除数组中第一个元素,不改变原数组返回新数组的方法
<script>
var arr = new Array('a','b','c');
// 赋值给另一个数组
var newarr = arr.concat();
// 处理新数组,原数组不变
newarr.shift();
// 打印结果
console.log(arr);
console.log(newarr);
</script>
["a", "b", "c"]
["b", "c"]
js 删除数组中第一个元素,并返回被删除的值
<script>
var arr = new Array('飞鸟慕鱼','feiniaomy.com','mochu');
// 删除数组中第一个元素,并反回被删除元素的值
str = arr.shift();
console.log(str);
</script>
移除最后一个元素
先复制在删除,这样就不直接修改arr了
function truncate(arr) {
newarr=arr.slice(0);
newarr.pop();
return newarr;
}
数组转字符串
var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-"); //"0-1-2-3-4"
截取数据
var str = "123-456-789-000";
document.write(str.split("-"))//返回["123","456","789","000"]
//输出:123,456,789,000
document.write(str.split("-",3))//返回["123","456","789"]
//输出:123,456,789
遍历当前数组中的键拿到另一个数组中包含相同键的当前数组对象
const arr = [1,2,3,4,5,6,7]
const list = [
{openId: 1, timelineId: 1, showNo: 1, uid: 1},
{openId: 2, timelineId: 1, showNo: 1, uid: 1},
{openId: 9, timelineId: 1, showNo: 1, uid: 1},
{openId: 4, timelineId: 1, showNo: 1, uid: 1},
{openId: 5, timelineId: 1, showNo: 1, uid: 1}
]
const params = list.filter(item=> arr.indexOf(item.openId) > -1)
console.log(params)
image.png
将两个对象数组根据相同的索引index合并为一个数组
this.currentTotalList = this.totalList.map((item, index) => ({ ...item, ...daysList[index] }))
将两个对象数组根据相同的键值合并为一个数组
let currentEveryList = this.everyList.map(item => ({...item, ...signList.filter(s => s.signDate === item.signDate)[0]}))
从当前数组中筛选符合条件的值
this.materialss = this.materials.filter(item => item.categoryId === this.curTab.categoryId)
image.png
根据两个数组的id也就是为一值判断,取不同值
//遍历数组
getArrEqual(arr1, arr2) {
let newArr = [...arr1];
for (let i = 0; i < arr2.length; i++) {
for (let j = 0; j < newArr.length; j++) {
if (newArr[j].enterpId== arr2[i].enterpId) {
newArr.splice(j, 1)
}
}
}
return newArr;
},
2.去掉空数组空字符串、undefined、null
var arr = ['1','2',undefined, '3.jpg',undefined]
var newArr = arr.filter(item => item)
console.log(newArr)
var arr = ['1','2',null, '3.jpg',null]
var newArr = arr.filter(item => item)
console.log(newArr)
>//空字符串里面不能包含空格
var arr = ['1','2','', '3.jpg','']
var newArr = arr.filter(item => item)
console.log(newArr)
3.去掉数组中不符合项
var arr = [20,30,50, 96,50]
var newArr = arr.filter(item => item>40)
console.log(newArr)
4.过滤不符合项
var arr = ['10','12','23','44','42']
var newArr = arr.filter(item => item.indexOf('2')<0)
console.log(newArr)
5.数组去重
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
var data = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','0','国产','波多黎各','英国','比利时','德国','意大利','意大利',];
var result = [];
for(var i=0,len=data.length;i<len;i+=6){
result.push(data.slice(i,i+6));
}
拼接
<div class="demo">
</div>
<script src="../jquery.js"></script>
<script>
var arr=[1,2,3,4];
var html='';
for(var i=0;i<arr.length;i++){
html+='<li class="list list'+(i+1)+'">'+arr[i]+'</li>'
}
$(".demo").html(html);
</script>
网友评论