web前端:常用的js语法(一)

04月19日 收藏 0 评论 0 前端开发

web前端:常用的js语法(一)

转载声明:文章来源https://zhuanlan.zhihu.com/p/340315649

常用的js语法

1、提取数组对象中的某个属性值,并返回一个新数组

//实例一:单纯的提取数组对象中的某个属性值,返回一个数组
var detailList = [
{
id:1,
name:'张三'
},
{
id:2,
name:'李四'
},
{
id:3,
name:'王五'
},
]
var result = detailList.map(function(item) {
return item.name;
});
console.log(result, '新数组');//['张三','李四','王五']

//实例二:提取数组对象中的某个属性值,并返回一个带有属性名的新数组
var detailList = [
{
id:1,
name:'张三'
},
{
id:2,
name:'李四'
},
{
id:3,
name:'王五'
},
]
var result = detailList.map(item =>({
bossName:item.name,
bossId:item.id
}))
console.log(result, '新数组');//[{bossName:'张三',bossId:1},{bossName:'李四',bossId:2},{bossName:'王五',bossId:3}]

1234567891011121314151617181920212223242526272829303132333435363738394041

2、判断数组对象中是否存在某个属性值

var list = [
{
id:1,
name:'张三'
},
{
id:2,
name:'李四'
},
{
id:3,
name:'王五'
},
]
var result = list.some(function (item) {
if(item.name==='李四'){
return true
}
})

console.log(result) //true/false
123456789101112131415161718192021

3、根据数组对象中的某个属性值,取它整个对象

var list = [
{
id:1,
name:'张三'
},
{
id:2,
name:'李四'
},
{
id:3,
name:'王五'
},
]
var result = list.find(item=>item.name==='李四')
var id = result && result.id

console.log(id) //2
123456789101112131415161718

4、替换数组对象中的某个属性值

data:[
{name: 'xxx', status: 0},
{name: 'xxx', status: 1},
{name: 'xxx', status: 0},
{name: 'xxx', status: 1},
]

data.forEach(item => {
if (item.status === 0) {
// 'status'为属性名,'非活动'为修改后的内容
item.status = '非活动'
} else if (item.status === 1) {
item.status = '活动'
}
})

12345678910111213141516

5、向数组对象中添加属性

//实例:适合做购物车勾选商品的勾选状态<br>//接口返回的商品列表数据list<br>let arr = this.list<br>let curData = []<br>arr.forEach((item, index) => {<br>    curData.push(Object.assign({}, item, { 'selected': true }))<br>  })<br>this.list = []<br>this.list = curData<br>// console.log(this.list, '新增属性')<br>12345678910

下面说说理论知识:

find():返回通过测试的数组的第一个元素的值

在第一次调用 callback 函数时会确定元素的索引范围,因此在 find 方法开始执行之后添加到数组的新元素将不会被 callback 函数访问到。如果数组中一个尚未被callback函数访问到的元素的值被callback函数所改变,那么当callback函数访问到它时,它的值是将是根据它在数组中的索引所访问到的当前值。被删除的元素仍旧会被访问到。

语法:

array.find(function(value, index, arr),thisValue)
1

value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值

返回值:返回符合测试条件的第一个数组元素的值,如果没有符合条件的则返回undefined。

var arr = [1,2,3,4,5,6,7];
var ar = arr.find(function(elem){
return elem>5;
});
console.log(ar);//6
console.log(arr);//[1,2,3,4,5,6,7]
123456



C 0条回复 评论

帖子还没人回复快来抢沙发