js 对象里面的对象调换顺序

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

回到顶部