Chúng tôi được yêu cầu viết một hàm JavaScript có trong một loạt các số (đường và âm). Hàm của tôi nên tính toán và trả về tổng của tất cả các số dương có trong mảng Show Nội dung chính Hiển thị
Thí dụSau đây là mã -
const arr = [5, -5, -3, -5, -7, -8, 1, 9]; const sumPositives = (arr = []) => { const isPositive = num => typeof num === 'number' && num > 0; const res = arr.reduce((acc, val) => { if(isPositive(val)){ acc += val; }; return acc; }, 0); return res; }; console.log(sumPositives(arr)); đầu raSau đây là bảng điều khiển đầu ra - 15 Cập nhật vào ngày 17 tháng 4 năm 2021 11. 54. 20
Chúng ta phải viết một hàm có trong một mảng và trả về một đối tượng có hai thuộc tính là tích cực và tiêu cực. Cả hai nên là một mảng chứa tất cả các mục tích cực và tiêu cực tương ứng từ mảng Cái này khá đơn giản, chúng ta sẽ sử dụng phương thức mảng. nguyên mẫu. Giảm () để chọn các phần tử mong muốn và đưa chúng vào một đối tượng của hai mảng Thí dụconst arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); } đầu raĐầu ra trong bảng điều khiển sẽ là - { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] } Cập nhật vào ngày 21 tháng 8 năm 2020 14. 48. 57
Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận158 Một mảng chứa cả số dương và số âm theo thứ tự ngẫu nhiên. Sắp xếp lại các phần tử mảng cho các số dương và âm được đặt thay thế. Số lượng dương và âm không cần thiết phải bằng nhau. Nếu có nhiều số tích cực hơn, chúng sẽ xuất hiện ở cuối mảng. Nếu có nhiều số âm hơn, chúng cũng xuất hiện ở cuối mảng. Ví dụ, nếu mảng đầu vào là [-1, 2, -3, 4, 5, 6, -7, 8, 9], thì Đầu ra phải là [9, -7, 8, -3, 5, - . Quá trình phân vùng thay đổi thứ tự tương ứng của các yếu tố thành phần. I E. Thứ tự xuất hiện của các yếu tố không được duy trì với phương pháp này. Xem điều này để duy trì thứ tự xuất hiện của các yếu tố trong vấn đề này. Giải pháp trước tiên là phân biệt các số dương và âm sử dụng quá trình phân vùng của QuickSort. Trong quá trình phân vùng, hãy xem xét 0 là giá trị của phần tử mạng để tất cả các số âm được đặt trước các số dương. Khi các số âm và dương được phân tách, chúng tôi bắt đầu từ số âm đầu tiên và số dương đầu tiên và thay đổi mỗi số âm thay thế cho số dương tiếp theo. &NBSP; 159 150 151 152 JavaScript 151 150 159 151 152 158 150 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }3 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }4 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }3 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }6 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }3 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }8 151 154 155 158 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }2 151 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }2 151 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }6 158 159 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }0 151 150 158 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }23 158 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }25 158_______327__ 158 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }29 15___32 159 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }2 const arr = [ [12, -45, 65, 76, -76, 87, -98], [54, -65, -98, -23, 78, -9, 1, 3], [87, -98, 3, -2, 123, -877, 22, -5, 23, -67] ]; const splitArray = (arr) => { return arr.reduce((acc, val) => { if(val < 0){ acc['negative'].push(val); } else { acc['positive'].push(val); } return acc; }, { positive: [], negative: [] }) }; for(let i = 0; i < arr.length; i++){ console.log(splitArray(arr[i])); }3______30 159 150 151 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }8 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }9 158 1595 1596 1597 159 { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }2______11 1511 151 1513 159 151 1588 151____117 1518 đầu ra. { positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] } { positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] } { positive: [ 87, 3, 123, 22, 23 ], negative: [ -98, -2, -877, -5, -67 ] }2 1551____14 1593O(n) trong đó n là số phần tử của mảng đã cho. Vì, chúng tôi đang sử dụng một vòng lặp để duyệt qua N lần nên chúng tôi sẽ mất O(N) thời gian. Không gian phụ. O(1), vì chúng tôi không sử dụng thêm dung lượng. 151 1515 Làm thế nào để bạn thêm một số dương và một số âm?Thêm số dương và âm. . Quy tắc 1. Thêm số dương vào số dương, đó chỉ là phần bổ sung bình thường Quy tắc 2. Thêm số dương vào số âm Quy tắc 3. Add sound number into a positive number, have a reverse value, as you are except Làm thế nào để bạn tổng hợp một mảng trong javascript?To get tổng của một mảng số. Sử dụng mảng phương thức. Reduce() to over a array. Đặt giá trị ban đầu trong phương thức giảm xuống 0. Trên mỗi lần lặp, hãy trả lại tổng giá trị tích lũy và số hiện tại. Sử dụng Mảng. reduce() để lặp lại mảng. Đặt giá trị ban đầu trong phương thức rút gọn thành 0. Trên mỗi lần lặp lại, hãy trả về tổng của giá trị tích lũy và số hiện tại . Làm thế nào để bạn sắp xếp một mảng với số âm và dương?Khai báo một mảng và nhập các phần tử mảng. Bắt đầu đi qua mảng và nếu phần tử hiện tại là dương, đi qua phần tiếp theo trong mảng. Nếu phần tử hiện tại là âm, hãy thay đổi các phần tử dương theo một vị trí và chèn số âm trong chuỗi [0 sang N-1]. Nếu phần tử hiện tại là số âm, hãy dịch chuyển sang phải các phần tử dương một vị trí và chèn số âm vào mảng dãy[0 đến n-1] . Bạn có thể đặt số âm trong một mảng không?Không, bạn không thể sử dụng một số nguyên âm làm kích thước, kích thước của một mảng đại diện cho số lượng phần tử trong đó, số phần tử của một mảng không có ý nghĩa gì |