Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法[亲测有效],希望能够帮助你!!!。
![js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法[亲测有效]__第1张_编程好6博客 js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法[亲测有效]_https://bianchenghao6.com/blog__第1张](./wp-content/uploads/2023/03/2023032613475569-150x93.jpg)
1、js创建一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下:
let obj = {
'a1':'a1'};
obj['a2'] = 'a2';
console.log(obj);//输出{'a1':'a1','a2':'a2'};
2、添加一个变量属性,并赋值变量,写法如下:
function add(name,value){
let obj = {
"a1":"a1"};
obj[name] = value;//返回参数
console.log(obj);//{"a1":"a1","b1":"b1"}
}
add("b1","b1");
3、js 更改对象中的属性名
const json = JSON.parse(JSON.stringify(options).replace(/name/g,"label"));
注:
1、options是需要更改属性的对象
2、replace(/name/g,“label”) ,将对象里所有属性为name的都修改成label
let obj = [{
name1: '张三',
age1: "12"
},
{
name2: '李四',
age2: "14"
},
{
name3: '王五',
age3: "30"
}
]
let newObj = {
} // 新建一个对象
obj.forEach((item) => {
newObj = {
...newObj,
...item
} // 要把自己放进去
})
console.log(newObj) // { name1: "张三", age1: "12", name2: "李四", age2: "14", name3: "王五", age3: "30" }
小案例
let arr = [{
'name': 'aa',
'age': 10
},
{
'name': 'bb',
'age': 12
}
]
let newArr = []
arr.map((item, index) => {
newArr.push(
Object.assign({
}, item, {
id: index
})
)
})
console.log(arr) // [ {'name': 'aa', 'age': 10},{'name': 'bb', 'age': 12}]
console.log(newArr)
// [ {name: "aa", age: 10, id: 0},{name: "bb", age: 12, id: 1}]
将数组对象中每一个对象添加一个字段
let arr = [
{
name: 'lilei',age: '25'},
{
name: 'nike',age: '23'},
{
name: 'alisa',age: '23'}
]
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值,有三个参数
1、currentValue 必须。当前元素的值
2、index 可选。当前元素的索引值
3、index 可选。当前元素属于的数组对象
let _arr = []
arr.map((item, index) => {
_arr.push(Object.assign({
},item,{
sex: 'men'}))
}))
// _arr返回结果
[
{
name: 'lilei',age: '25',sex: 'men'},
{
name: 'nike',age: '23',sex: 'men'},
{
name: 'alisa',age: '23',sex: 'men'}
]
小案例
let arr = [23, 31, 60, 88, 90, 108, 260]
/* 1. 需求:数组中的每一个元素+1 */
let arr1 = arr.map((value, index) => {
return value + 1 //让每个元素的值+1
})
console.log(arr1); //) [24, 32, 61, 89, 91, 109, 261]
/* 2.需求:超过100的商品打八折 */
let arr2 = arr.map((value, index) => {
if (value > 100) {
return value * 0.8
} else {
return value;
}
})
console.log('arr2', arr2); // [23, 31, 60, 88, 90, 86.4, 208]
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
1、currentValue 必须。当前元素的值
2、index 可选。当前元素的索引值
3、index 可选。当前元素属于的数组
arr.forEach((value , index) => {
value['sex'] = 'men'
})
// 返回原数组arr
[
{
name: 'lilei',age: '25',sex: 'men'},
{
name: 'nike',age: '23',sex: 'men'},
{
name: 'alisa',age: '23',sex: 'men'}
]
综合实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script> let arr = [{
'name': 'aa', 'age': 10 }, {
'name': 'bb', 'age': 12 } ] let newArr = [] arr.map((item, index) => {
newArr.push( Object.assign({
}, item, {
id: index }) ) }) console.log(arr) // [ {'name': 'aa', 'age': 10},{'name': 'bb', 'age': 12}] console.log(newArr) // [ {name: "aa", age: 10, id: 0},{name: "bb", age: 12, id: 1}] let ary = [{
name: 'lilei', age: '25' }, {
name: 'nike', age: '23' }, {
name: 'alisa', age: '23' } ] ary.forEach((value, index) => {
value['sex'] = 'men' }) console.log(ary) </script>
</body>
</html>
效果图-数组对象中添加字段
上一篇
已是最后文章
下一篇
已是最新文章