gpt4 book ai didi

javascript - 将现有数组插入多个数组js

转载 作者:行者123 更新时间:2023-12-02 16:29:17 28 4
gpt4 key购买 nike

我想为列表中的事件项目和非事件项目创建一个数组。我目前有以下代码。下面的代码可以工作,但是我希望格式与现有数组相同。

  var myData = [
{"text" : "item 1", "id":11111, "active" : 0 },
{"text" : "item 2", "id":22222, "active" : 1 },
{"text" : "item 3", "id":33333, "active" : 1 },
{"text" : "item 4", "id":44444, "active" : 0 }
];
console.log(myData[0].text); //returns item 1
var active = [];
var inactive = [];
for (var i = 0; i < myData.length; i++) {
if(myData[i].active) {
active.push({
items: myData[i];
});
}
else {
inactive.push({
items: myData[i];
});
}
}
console.log(active[0].items.text); //returns item 2
console.log(inactive[0].items.text); //returns item 1

我似乎无法弄清楚如何在不命名的情况下将整个对象插入数组。

我想设置我的数组,以便我可以 console.log

事件[0].文本

而不是必须去到下一个级别然后再去

事件[0].items.text

有没有办法可以在不命名的情况下推送整个对象?

最佳答案

 var myData = [
{"text" : "item 1", "id":11111, "active" : 0 },
{"text" : "item 2", "id":22222, "active" : 1 },
{"text" : "item 3", "id":33333, "active" : 1 },
{"text" : "item 4", "id":44444, "active" : 0 }
];
console.log(myData[0].text); //returns item 1

var active = myData.filter(function(data){
return data.active;
});

var inactive = myData.filter(function(data){
return !data.active;
});

或者也许让它成为一个函数

function getData(type){
return myData.filter(function(data){
return (type == 'active') ? data.active : !data.active;
});
}

如果您已经在使用 ES6 箭头函数,您可以将它们缩短为:

var active = myData.filter(data => data.active);
var inactive = myData.filter(data => !data.active);

function getData(type){
return myData.filter(data => (type == 'active') ? data.active : !data.active);
}

关于javascript - 将现有数组插入多个数组js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445401/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com