js 对象里面的对象调换顺序
遍历data里面的params,如果params的长度等于2,并且data.params[0]的expression为0,那就调换位置,其他的则不变
数据格式如下↓
const data = [ {
type: 0,
params: [
{
expression: "0",
value: "300"
}
],
interest: "3"
},
{
type: 1,
params: [
{
expression: "0", //与下面的调换位置
value: "600"
},
{
expression: "1",
value: "300"
}
],
interest: "6"
},
{
type: 1,
params: [
{
expression: "0", //与下面的调换位置
value: "600"
},
{
expression: "1",
value: "700"
}
]
},
{
type: 0,
params: [
{
expression: "1",
value: "700"
}
]
}
]
拿这一条来举例↓
const data = { type: 1,
params: [
{
expression: "0",
value: "600"
},
{
expression: "1",
value: "300"
}
],
interest: "6"
}
期待结果↓
const data = { type: 1,
params: [
{
expression: "1",
value: "300"
},
{
expression: "0",
value: "600"
}
],
interest: "6"
}
也就是调换下顺序
在这里感谢各位大哥大姐的解答,小弟感激不尽!
回答:
用map 过滤应该就可以。
js">data.map(item => { if (item.params.length === 2 && item.params[0].expression === "0") {
item.params = [
item.params[1],
item.params[0]
]
}
return item;
});
回答:
// 用forEach不生成新的变量data.forEach(item=>{
if (item.params.length === 2 && item.params[0].expression === '0')
item.params.reverse() // reverse 直接反正原数组,不生成中间变量
})
console.log(data)
回答:
不考虑树结构
for(let n of arr){
if(n.params.length==2&&n.params[0].expression=='0'){ let temp=n.params[0];
n.params[0]=n.params[1];
n.params[1]=temp
}
}
回答:
const changeOrder = data => data.forEach( ({ params }) => params[0].expression == 0 && params.reverse()
)
以上是 js 对象里面的对象调换顺序 的全部内容, 来源链接: utcz.com/p/935653.html