คำถามติดแท็ก arrays

อาร์เรย์คือโครงสร้างข้อมูลเชิงเส้นที่เรียงลำดับซึ่งประกอบด้วยชุดขององค์ประกอบ (ค่าตัวแปรหรือการอ้างอิง) โดยแต่ละรายการจะถูกระบุด้วยดัชนีหนึ่งรายการหรือมากกว่า เมื่อถามเกี่ยวกับตัวแปรเฉพาะของอาร์เรย์ให้ใช้แท็กที่เกี่ยวข้องเหล่านี้แทน: [vector], [arraylist], [matrix] เมื่อใช้แท็กนี้ในคำถามที่เฉพาะเจาะจงกับภาษาการเขียนโปรแกรมให้แท็กคำถามด้วยภาษาการเขียนโปรแกรมที่ใช้

5
ผสานอาร์เรย์หนึ่งอาร์เรย์หลังจากการกรอง
ฉันมีอาเรย์ของวัตถุที่ฉันใช้เฉพาะอาเรย์ตำแหน่ง เป้าหมายของฉันคือการรวมอาร์เรย์ตำแหน่งที่ตั้งเหล่านี้เข้ากับหนึ่งอาร์เรย์อย่างไรก็ตามฉันไม่สามารถทำเช่นนั้นและรับอาร์เรย์ว่าง นี่คือวิธีที่ฉันทำ: let results = [{ id: '1', locations: ['aaaa', 'bbbbbb', 'cccccc'] }, { id: '2', locations: [] }, { id: '3', locations: ['ddd', 'aaadsad', 'sefd'] }, { id: '4', locations: ['ffff', 'eeee', 'sfdsfsd'] }, ]; const locationIds = [].concat.apply([], ...results.filter(s => s.locations && s.locations.length > 0).map(({ locations }) …

2
ฉันต้องการเพิ่มเซกเมนต์ใหม่ (ด้วยชื่อเดียวกัน) ลงในอาเรย์การทำแผนที่ของฉัน แต่ใช้ elementId ที่แตกต่างกัน แต่ใช้วิธีเดียวกัน
ด้านล่างนี้คือ MapperInterface.php ฉันกำลังพยายามหาวิธีเพิ่มคำสั่ง if-else ลงใน const อาร์เรย์การแมป บางอย่างเช่น: if (LIN02 == “VN”) o Treat LIN03 as the SKU · else if (LIN04 == “VN”) o Treat LIN05 as the SKU <?php declare(strict_types=1); namespace Direct\OrderUpdate\Api; use Direct\OrderUpdate\Api\OrderUpdateInterface; /** * Interface MapperInterface * Translates parsed edi file data to a \Direct\OrderUpdate\Api\OrderUpdateInterface * …
14 php  arrays  mapping  const 

3
เหตุใดส่วนมิติของอาร์เรย์จึงเป็นชนิดข้อมูล
ในขณะที่อ่านหนังสือ C ++ Primer ฉันเจอข้อความนี้: "จำนวนองค์ประกอบในอาเรย์เป็นส่วนหนึ่งของประเภทอาเรย์" ดังนั้นฉันต้องการค้นหาโดยใช้รหัสต่อไปนี้: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's', 'e'}; std::cout<<typeid(Array1).name()<<std::endl; //prints A4_c std::cout<<typeid(Array2).name()<<std::endl; //prints A6_c return 0; } และน่าสนใจที่ผลลัพธ์ของ typeid ในสองอาร์เรย์แสดงว่ามันแตกต่างกัน เบื้องหลังเกิดอะไรขึ้น เหตุใดจึงจำเป็นต้องให้อาร์เรย์มีชนิดที่มีขนาด เป็นเพราะขนาดไม่ควรเปลี่ยนแปลงหรือไม่ สิ่งนี้จะส่งผลกระทบต่อการเปรียบเทียบอาร์เรย์? เพียงแค่ต้องการที่จะสามารถเข้าใจแนวคิดอย่างลึกซึ้ง
14 c++  arrays  c++11 

1
อาร์เรย์ Java byte ขนาด 1 MB หรือมากกว่านั้นใช้ RAM เป็นสองเท่า
เล่นโค้ดด้านล่างบน Windows 10 / OpenJDK 11.0.4_x64 ผลิตเป็นผลผลิตและused: 197 expected usage: 200ซึ่งหมายความว่าอาร์เรย์ 200 ไบต์ของหนึ่งล้านองค์ประกอบใช้เวลาประมาณ RAM 200MB ทุกอย่างดี เมื่อฉันเปลี่ยนการจัดสรรอาร์เรย์ไบต์ในรหัสจากnew byte[1000000]ไปnew byte[1048576](นั่นคือ 1024 * 1024 องค์ประกอบ) จะผลิตเป็นผลผลิตและused: 417 expected usage: 200ห่า? import java.io.IOException; import java.util.ArrayList; public class Mem { private static Runtime rt = Runtime.getRuntime(); private static long free() { return rt.maxMemory() - …

2
จะเข้าใจวิธีการรวบรวม Java 8 Stream นี้ได้อย่างไร?
ฉันพยายามแปลง int เป็น List และใช้เส้นทางที่ไม่คุ้นเคยในการใช้ Java 8 Stream และคิดสิ่งนี้ขึ้นมา Arrays.stream(arr).boxed().collect(Collectors.toList()); ฉันยังคงมีปัญหาในการเข้าใจบรรทัดนี้ส่วนใหญ่ เหตุใดCollectors.toList()ในกรณีนี้จึงส่งคืนอินเตอร์เฟสที่ArrayList<Integer>ใช้งาน Listทำไมไม่LinkedList<Integer>หรือคลาสทั่วไปอื่น ๆ ที่สอดคล้องกับListอินเตอร์เฟส? ฉันไม่พบสิ่งใดเกี่ยวกับเรื่องนี้ยกเว้นการกล่าวถึง ArrayList สั้น ๆที่นี่ในส่วน API Notes แผงด้านซ้าย หมายถึงอะไร เห็นได้ชัดว่าเป็นประเภทผลตอบแทนทั่วไป ( ในรหัสของฉันที่นี่) และฉันคิดว่าเป็นอาร์กิวเมนต์ประเภททั่วไปของวิธีการ แต่พวกเขาจะระบุได้อย่างไร ผมมองเข้าไปสะสมอินเตอร์เฟซ doc และไม่สามารถที่จะดูดซึมได้ Stream.collect()RArrayList<Integer><R, A>

3
Java 14 บันทึกและอาร์เรย์
รับรหัสต่อไปนี้: public static void main(String[] args) { record Foo(int[] ints){} var ints = new int[]{1, 2}; var foo = new Foo(ints); System.out.println(foo); // Foo[ints=[I@6433a2] System.out.println(new Foo(new int[]{1,2}).equals(new Foo(new int[]{1,2}))); // false System.out.println(new Foo(ints).equals(new Foo(ints))); //true System.out.println(foo.equals(foo)); // true } ดูเหมือนว่าเห็นได้ชัดของอาร์เรย์ที่toString, equalsวิธีการใช้ (แทนวิธีการแบบคงที่Arrays::equals, Arrays::deepEquals หรือArray::toString) ดังนั้นฉันจึงเดาว่า Java 14 Records ( JEP …

1
ตัวชี้ทางคณิตศาสตร์ในหน่วยเก็บข้อมูลที่จัดสรรอนุญาตตั้งแต่ C ++ 20 หรือไม่
ใน C ++ 20 มาตรฐานมันก็บอกว่าประเภทอาร์เรย์เป็นประเภทอายุการใช้งานโดยปริยาย หมายความว่าอาเรย์สำหรับประเภทอายุการใช้งานที่ไม่แน่นอนสามารถสร้างได้หรือไม่? การสร้างอาเรย์โดยนัยจะไม่ทำให้เกิดการสร้างองค์ประกอบของอาเรย์? พิจารณากรณีนี้: //implicit creation of an array of std::string //but not the std::string elements: void * ptr = operator new(sizeof (std::string) * 10); //use launder to get a "pointer to object" (which object?) std::string * sptr = std::launder(static_cast<std::string*>(ptr)); //pointer arithmetic on not created array …

3
วิธีเปรียบเทียบอาเรย์รูปแบบ JSON VALUE และ KEY เพื่อสร้างอาเรย์ใหม่ ในเชิงมุม 5
นี่คือรูปแบบอาร์เรย์ JSON แรกของฉัน: this.columnNames = [ {field : "Name"}, {field : "Address"}, {field : "Age"} ]; นี่คือรูปแบบอาร์เรย์ JSON แรกของฉัน: this.rowData = [ {Name : "Praveen",Address : "aiff",Age : "12",w : "1",e : "8"}, {Name : "Akashay",Address : "xvn",Age : "15",w : "2",e : "7"}, {Name : "Bala",Address : "hjk",Age : …

3
อะไรคือคำจำกัดความของคำนิยามของสตริงใน C?
ฉันควรจะตอบคำถามการบ้านสำหรับชั้นเรียนของฉัน โดยเฉพาะฉันควรจะบอกว่าอาร์เรย์บางตัวใน C ถือเป็นสตริงหรือไม่ อ้างอิงจากบทความนี้ ( https://www.geeksforgeeks.org/strings-in-c-2/ ) ฉันรู้ว่าสตริงนั้นเป็นอาร์เรย์ของตัวละครที่มีตัวสิ้นสุด null ในตอนท้าย Hangup หลักของฉันเป็นส่วนหนึ่งของคำถามที่ถามเกี่ยวกับอาร์เรย์ที่มีลักษณะดังนี้: char c1[] = { 'C', 'S', '\0', '3', '2', '4', '\0' }; เห็นได้ชัดว่านี่คืออาเรย์ของอักขระที่มีอักขระสิ้นสุดในตอนท้าย อย่างไรก็ตามมันยังถือว่าเป็นสตริงเพราะมันยังมีอักขระยุติกลางที่? สิ่งนั้นจะมีผลกับสตริงอย่างไร? แก้ไข: จากความคิดเห็นฉันได้ให้ถ้อยคำที่แท้จริงของคำถาม: "อาร์เรย์ใดต่อไปนี้ถือเป็น" สตริง "เพื่อจุดประสงค์ในการใช้เป็นอาร์กิวเมนต์สำหรับ strcpy (), strncpy (), strcmp (), strcmp (), strncmp () และฟังก์ชั่นสตริงที่คล้ายกัน (ระบุถึงการใช้ทั้งหมด)" แก้ไข: ฉันส่งอีเมลถึงอาจารย์ของฉันเกี่ยวกับเรื่องนี้เนื่องจากคำถามดูเหมือนจะคลุมเครือคำ (หลายคนชี้ให้เห็น) ถ้าใครอยากรู้อยากเห็นเขาบอกฉันว่า "ใช่มันเป็นสตริงที่สำคัญคือว่ามีตัวละครที่เป็นโมฆะ …

2
ฉันสามารถใช้ตัวจัดสรรที่กำหนดเองสำหรับ std :: array สำหรับคีย์การเข้ารหัสที่ปลอดภัยได้หรือไม่
ฉันรู้ว่าstd::arrayจัดสรรอย่างสมบูรณ์ในสแต็ก แต่คำถามนี้ได้รับแรงบันดาลใจจากความกังวลด้านความปลอดภัยที่ต้องการสองสิ่ง: ข้อมูลในstd::arrayจะถูก zerod หรือสุ่มเมื่อถูกทำลาย ข้อมูลในstd::arrayจะถูกล็อคเพื่อไม่ให้ไปที่ดิสก์ไม่ว่าจะเกิดข้อผิดพลาดหรือในหน่วยความจำสลับ มักจะมีstd::vectorวิธีการแก้ปัญหาคือการสร้างจัดสรรที่กำหนดเองที่ทำสิ่งเหล่านี้ อย่างไรก็ตามสำหรับstd::arrayฉันไม่เห็นวิธีการทำเช่นนี้และด้วยเหตุนี้คำถามนี้ สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือ: template <typename T, std::size_t Size> struct SecureArray : public std::array<T, Size> { static_assert(std::is_pod<T>::value, "Only POD types allowed") static_assert(sizeof(T) == 1, "Only 1-byte types allowed") virtual ~SecureArray() { std::vector<uint8_t> d = RandomBytes(Size); // generates Size random bytes std::memcpy(this->data(), d.data(), Size); } } …

5
วิธีการแยกย่อยเซตย่อยของ Markdown ลงในส่วนประกอบ React
ฉันมีชุดย่อยของ Markdown ขนาดเล็กมากพร้อมกับ html แบบกำหนดเองบางส่วนที่ฉันต้องการแยกวิเคราะห์เป็นส่วนประกอบของ React ตัวอย่างเช่นฉันต้องการเปลี่ยนสตริงต่อไปนี้: hello *asdf* *how* _are_ you !doing! today เป็นอาร์เรย์ต่อไปนี้: [ "hello ", <strong>asdf</strong>, " ", <strong>how</strong>, " ", <em>are</em>, " you ", <MyComponent onClick={this.action}>doing</MyComponent>, " today" ] จากนั้นส่งคืนจากฟังก์ชั่น React render (React จะสร้างอาเรย์อย่างเหมาะสมในรูปแบบ HTML) โดยทั่วไปฉันต้องการให้ผู้ใช้มีตัวเลือกในการใช้ชุด Markdown ที่ จำกัด เพื่อเปลี่ยนข้อความของพวกเขาให้เป็นองค์ประกอบที่มีสไตล์ (และในบางกรณีองค์ประกอบของตัวเอง!) มันไม่ฉลาดนักที่จะอันตราย SetInnerHTML และฉันไม่ต้องการพึ่งพาภายนอกเพราะมันหนักมากและฉันต้องการฟังก์ชั่นพื้นฐานมาก ตอนนี้ฉันกำลังทำอะไรแบบนี้ แต่มันเปราะบางมากและไม่สามารถใช้ได้กับทุกกรณี …

7
รวมสองอาร์เรย์หลังจากใช้วิธีการกรอง
ฉันติดขัดในการแสดงหน้ารถเข็นที่มีการระบุผลิตภัณฑ์ซึ่งถูกเพิ่มลงในรถเข็นโดยผู้ใช้ ฉันมีสองอาร์เรย์: หนึ่งรายการพร้อมรายละเอียดผลิตภัณฑ์ productDetails: [ { productID: 1, productTitle: 'Product Title 1', productPrice: 2000 }, { productID: 2, productTitle: 'Product Title 2', productPrice: 5000 }, { productID: 3, productTitle: 'Product Title 3', productPrice: 1000 }, { productID: 4, productTitle: 'Product Title 4', productPrice: 10000 } ], อีกรายการหนึ่งที่มีรายละเอียดผลิตภัณฑ์รถเข็นซึ่งมี productID และปริมาณที่เลือกโดยผู้ใช้เท่านั้น cartProducts: …

4
ขนาดของการทำงานกับ dereferencing ตัวชี้ไปยังอาร์เรย์นี้ได้อย่างไร
ที่นี่ฉันมีตัวชี้ptrไปยังอาร์เรย์arrของจำนวนเต็ม 4 ตัว ptrชี้ไปที่อาร์เรย์ทั้งหมด ptr[0]หรือ*ptrชี้ไปที่องค์ประกอบแรกของอาร์เรย์ดังนั้นการเพิ่ม 1 เพื่อptr[0]ให้ที่อยู่ขององค์ประกอบที่สองของอาร์เรย์ ฉันไม่เข้าใจว่าทำไมการใช้sizeof(ptr[0])ให้ขนาดของทั้งอาร์เรย์ 16 ไบต์ไม่ใช่ขนาดขององค์ประกอบแรกเท่านั้น 4 ไบต์ (ตามที่ptr[0]ชี้ไปที่องค์ประกอบแรกในอาร์เรย์) int arr[4] = {0, 1, 2, 3}; int (*ptr)[4] = &arr; printf("%zd", sizeof(ptr[0])); //output is 16
9 c  arrays  pointers 

1
วิธีรับจำนวนองค์ประกอบใน std :: array <T, N> โดยไม่ต้องสร้างอินสแตนซ์
มีแต่มันไม่คงที่จึงต้องใช้อินสแตนซ์ของstd::array&lt;T, N&gt;::size() std::arrayมีวิธีรับค่าที่ส่งกลับ (ซึ่งเป็นNของstd::array&lt;T, N&gt;) โดยไม่ต้องสร้างตัวอย่างของอาร์เรย์หรือไม่ สำหรับอาร์เรย์ปกติฉันสามารถใช้งานได้sizeofแต่ฉันไม่เห็นการรับประกันว่าsizeof(std::array&lt;T, N&gt;) == N * sizeof(T)จะเป็นจริง
9 c++  arrays  c++11  sizeof 

2
วิธีการหลีกเลี่ยงการทำซ้ำของรหัสที่เกี่ยวกับประเภทดั้งเดิม?
พื้นหลัง กระแสข้อมูลบิตได้รับการสนับสนุนโดยอาร์เรย์ของไบต์ มีวิธีการจำนวนหนึ่งที่อ่านจากอาร์เรย์ไบต์นั้นไปยังอาร์เรย์ดั้งเดิมแบบบังคับ ปัญหา มีรหัสซ้ำอยู่ Java ไม่มีข้อมูลทั่วไปเกี่ยวกับประเภทดั้งเดิมดังนั้นบางทีการทำซ้ำอาจไม่สามารถหลีกเลี่ยงได้ รหัส รหัสซ้ำจะปรากฏในวิธีการต่อไปนี้: @Override public long readBytes(final byte[] out, final int offset, final int count, final int bits) { final int total = offset + count; assert out != null; assert total &lt;= out.length; final long startPosition = position(); for (int i = offset; …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.