簡體   English   中英

如何在JavaScript中的對象中打印兩個數組列表

[英]How to print two array lists in an object in JavaScript

我有一個像var myArr = [0,-1,2,-3,4,-5,6];的數組var myArr = [0,-1,2,-3,4,-5,6];

我想以數組格式分隔所有正號和負號

positiveArr = [0,2,4,6]negativeArr = [-1,-3,-5]

然后喜歡以對象格式打印兩個數組。

最終的預期結果類似於一個對象:

{Positive: [0,2,4,6], Negative: [-1,-3,-5]}

謝謝。

您可以借助Array.prototype.reduce做到這一點:

 const myArr = [0,-1,2,-3,4,-5,6]; const result = myArr.reduce((all, item) => { const key = item >= 0 ? 'Positive' : 'Negative'; all[key].push(item); return all; }, {Positive: [], Negative: []}); console.log(result); 

如果您需要使用JavaScript進行操作,則可以這樣做

 let myArr = [0,-1,2,-3,4,-5,6]; let obj = {Positive: myArr.filter(e => e < 0), Negative: myArr.filter(e => e >= 0)}; console.log(obj); 

據我看到的數組定義,您正在使用JavaScript-不要忘記添加標簽javascript

您需要以下輸出:

var obj = {positive: new Array(), negative: new Array()};

遍歷所有元素一次 ,然后將它們添加到正確的數組中:

 var myArr = [0,-1,2,-3,4,-5,6]; var obj = {positive: new Array(), negative: new Array()}; myArr.forEach(i => { if (i>=0) { obj.positive.push(i) } else { obj.negative.push(i); } }); console.log(JSON.stringify(obj)); 

結果obj將具有以下數組:

negative : (3) [-1, -3, -5]
positive : (4) [0, 2, 4, 6]

使用JSON.stringify(obj)打印輸出將導致:

{"positive":[0,2,4,6],"negative":[-1,-3,-5]}

您可以很明確,並且完全可以找到

const numbers = [0, -1, 2, -3, 4, -5, 6];
const positives = numbers.filter(number => number >= 0);
const negatives = numbers.filter(number => number < 0)
const results = {positives: positives, negatives: negatives}

console.log(results); // {positives: [0, 2, 4 ,6], negatives: [-1, -3, -5]}

我附上了一個可執行的例子

 const numbers = [0, -1 , 2, -3, 4, -5, 6]; const positives = numbers.filter(number => number >= 0); const negatives = numbers.filter(number => number < 0); const results = {positives: positives, negatives: negatives}; console.log(results); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM