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

ไลบรารียูทิลิตี้ JavaScript ที่ทันสมัยมอบความเป็นโมดูลาร์ประสิทธิภาพและความพิเศษ

8
พารามิเตอร์แบบสอบถาม HttpClient เชิงมุม 4
ฉันได้รับการมองหาวิธีที่จะผ่านพารามิเตอร์การค้นหาเป็นเรียก API กับใหม่HttpClientModule's HttpClientและยังไม่พบวิธีการแก้ปัญหา ด้วยHttpโมดูลเก่าคุณจะเขียนอะไรแบบนี้ getNamespaceLogs(logNamespace) { // Setup log namespace query parameter let params = new URLSearchParams(); params.set('logNamespace', logNamespace); this._Http.get(`${API_URL}/api/v1/data/logs`, { search: params }) } ซึ่งจะส่งผลให้มีการเรียก API ไปยัง URL ต่อไปนี้: localhost:3001/api/v1/data/logs?logNamespace=somelogsnamespace อย่างไรก็ตามHttpClient get()วิธีการใหม่ไม่มีsearchคุณสมบัติดังนั้นฉันสงสัยว่าจะส่งผ่านพารามิเตอร์การสืบค้นได้อย่างไร

2
ฉันจะใช้วิธีการรวมใน lodash เพื่อตรวจสอบว่าวัตถุอยู่ในคอลเลกชันได้อย่างไร
lodash ให้ฉันตรวจสอบการเป็นสมาชิกของชนิดข้อมูลพื้นฐานด้วยincludes: _.includes([1, 2, 3], 2) > true แต่สิ่งต่อไปนี้ใช้ไม่ได้: _.includes([{"a": 1}, {"b": 2}], {"b": 2}) > false สิ่งนี้ทำให้ฉันสับสนเพราะวิธีการต่อไปนี้ที่ค้นหาคอลเลกชันดูเหมือนจะทำได้ดี: _.where([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} _.find([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} ผมทำอะไรผิดหรือเปล่า? ฉันจะตรวจสอบการเป็นสมาชิกของวัตถุในคอลเล็กชันด้วยได้includesอย่างไร แก้ไข: คำถามเดิมสำหรับ Lodash รุ่น 2.4.1, อัปเดตสำหรับ lodash 4.0.0

14
ไม่สามารถทำการอัพเดตสถานะการตอบสนองบนส่วนประกอบที่ไม่ได้ต่อเชื่อม
ปัญหา ผมเขียนประยุกต์ใช้ในการตอบสนองและไม่สามารถที่จะหลีกเลี่ยงอันตรายที่พบบ่อยสุดซึ่งจะเรียกหลังจากsetState(...)componentWillUnmount(...) ฉันดูรหัสของตัวเองอย่างถี่ถ้วนและพยายามใส่มาตราการป้องกันไว้ แต่ปัญหายังคงอยู่และฉันยังคงสังเกตคำเตือนอยู่ ดังนั้นฉันมีคำถามสองข้อ: ฉันจะทราบได้อย่างไรจากการติดตามสแต็กคอมโพเนนต์เฉพาะและตัวจัดการเหตุการณ์หรือจุดเชื่อมต่อวงจรชีวิตที่รับผิดชอบต่อการละเมิดกฎ วิธีแก้ไขปัญหาด้วยตัวเองเนื่องจากรหัสของฉันเขียนขึ้นโดยคำนึงถึงข้อผิดพลาดนี้และกำลังพยายามป้องกันอยู่แล้ว แต่ส่วนประกอบพื้นฐานบางส่วนยังคงสร้างคำเตือน คอนโซลเบราว์เซอร์ Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. in TextLayerInternal (created by Context.Consumer) …

15
มีฟังก์ชันใน lodash เพื่อแทนที่รายการที่ตรงกันหรือไม่
ฉันสงสัยว่ามีวิธีที่ง่ายกว่าในการแทนที่รายการในคอลเลกชัน JavaScript หรือไม่? (อาจซ้ำกันได้แต่ฉันไม่เข้าใจคำตอบที่นั่น :) ฉันดูเอกสารของพวกเขา แต่ไม่พบอะไรเลย รหัสของฉันคือ: var arr = [{id: 1, name: "Person 1"}, {id:2, name:"Person 2"}]; // Can following code be reduced to something like _.XX(arr, {id:1}, {id:1, name: "New Name"}); _.each(arr, function(a, idx){ if(a.id === 1){ arr[idx] = {id:1, name: "Person New Name"}; return false; } …
134 javascript  lodash 

8
Javascript ES6 / ES5 ค้นหาในอาร์เรย์และการเปลี่ยนแปลง
ฉันมีอาร์เรย์ของวัตถุ ฉันต้องการค้นหาตามฟิลด์บางฟิลด์จากนั้นจึงเปลี่ยน: var item = {...} var items = [{id:2}, {id:2}, {id:2}]; var foundItem = items.find(x => x.id == item.id); foundItem = item; ฉันต้องการให้มันเปลี่ยนวัตถุเดิม อย่างไร? (ฉันไม่สนหรอกว่ามันจะอยู่ใน lodash ด้วยหรือเปล่า)

11
แม็พผ่านคีย์การถุกรักษาวัตถุ
mapฟังก์ชั่นใน underscore.js ถ้าเรียกว่ามีวัตถุจาวาสคริปต์กลับอาร์เรย์ของค่าแมปจากค่าของวัตถุที่ _.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; }); => [3, 6, 9] มีวิธีที่จะทำให้มันรักษากุญแจหรือไม่? เช่นฉันต้องการฟังก์ชั่นที่ส่งกลับ {one: 3, two: 6, three: 9}

7
วิธีการนำเข้าฟังก์ชัน Lodash เดียว
ใช้webpackฉันพยายามนำเข้าisEqualเนื่องจากlodashดูเหมือนว่าจะนำเข้าทุกอย่าง ฉันได้ลองทำสิ่งต่อไปนี้แล้ว แต่ไม่ประสบความสำเร็จ: import { isEqual } from 'lodash' import isEqual from 'lodash/lang' import isEqual from 'lodash/lang/isEqual' import { isEqual } from 'lodash/lang' import { isEqual } from 'lodash/lang'
128 javascript  lodash 

7
การใช้ Lodash เพื่อเปรียบเทียบอาร์เรย์ (รายการที่มีอยู่โดยไม่มีคำสั่งซื้อ)
ฉันรู้ว่าฉันทำได้โดยใช้ลูป แต่ฉันกำลังพยายามหาวิธีที่สวยงามในการทำสิ่งนี้: ฉันมีสองอาร์เรย์: var array1 = [['a', 'b'], ['b', 'c']]; var array2 = [['b', 'c'], ['a', 'b']]; ฉันต้องการใช้lodashเพื่อยืนยันว่าทั้งสองอาร์เรย์ข้างต้นเหมือนกัน โดย 'เหมือนกัน' หมายความว่าไม่มีรายการarray1ที่ไม่มีอยู่ในarray2. ในแง่ของการตรวจสอบความเท่าเทียมกันระหว่างรายการเหล่านี้: ['a', 'b'] == ['b', 'a'] หรือ ['a', 'b'] == ['a', 'b'] ทั้งสองทำงานเนื่องจากตัวอักษรจะเรียงตามลำดับเสมอ

7
วนซ้ำคุณสมบัติในวัตถุ JavaScript ด้วย Lodash
เป็นไปได้ไหมที่จะวนซ้ำคุณสมบัติในออบเจ็กต์ JavaScript ตัวอย่างเช่นฉันมีวัตถุ JavaScript ที่กำหนดไว้ดังนี้: myObject.options = { property1: 'value 1', property2: 'value 2' }; คุณสมบัติจะถูกเพิ่มลงในวัตถุนี้แบบไดนามิก มีวิธีให้ฉันวนลูปและตรวจสอบว่ามีทรัพย์สินอยู่หรือไม่? ถ้าเป็นเช่นนั้นอย่างไร?
123 javascript  lodash 

13
Lodash title case (ตัวพิมพ์ใหญ่ตัวแรกของทุกคำ)
ฉันกำลังดูเอกสาร lodash และคำถาม Stack Overflow อื่น ๆ - ในขณะที่มีJavaScript ดั้งเดิมหลายวิธีในการทำงานนี้ให้สำเร็จมีวิธีใดบ้างที่ฉันสามารถแปลงสตริงเป็นตัวพิมพ์ใหญ่โดยใช้ฟังก์ชัน lodash อย่างหมดจด (หรืออย่างน้อยก็มีฟังก์ชัน prototypal ที่มีอยู่) เพื่อที่ฉันจะได้ไม่ต้องใช้นิพจน์ทั่วไปหรือกำหนดฟังก์ชันใหม่? เช่น This string ShouLD be ALL in title CASe ควรจะเป็น This String Should Be All In Title Case
119 javascript  lodash 

2
ใช้ Lodash เพื่อจัดเรียงอาร์เรย์ของวัตถุตามค่า
ฉันกำลังพยายามจัดเรียงอาร์เรย์ตามค่า 'ชื่อ' (โดยใช้ Lodash) ฉันใช้เอกสาร Lodash เพื่อสร้างโซลูชันด้านล่างอย่างไรก็ตาม .orderBy ดูเหมือนจะไม่มีผลกระทบใด ๆ เลย ใครช่วยชี้แนะวิธีจัดเรียงอาร์เรย์ที่ถูกต้องได้บ้าง Chars Array [ { "id":25, "name":"Anakin Skywalker", "createdAt":"2017-04-12T12:48:55.000Z", "updatedAt":"2017-04-12T12:48:55.000Z" }, { "id":1, "name":"Luke Skywalker", "createdAt":"2017-04-12T11:25:03.000Z", "updatedAt":"2017-04-12T11:25:03.000Z" } ] รหัสฟังก์ชัน var chars = this.state.characters; _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name' this.setState({characters: chars})
110 arrays  lodash 

9
โดยใช้ lodash .groupBy จะเพิ่มคีย์ของคุณเองสำหรับเอาต์พุตที่จัดกลุ่มได้อย่างไร?
ฉันมีข้อมูลตัวอย่างที่ส่งคืนจาก API ฉันใช้ Lodash _.groupByเพื่อแปลงข้อมูลเป็นวัตถุที่ฉันสามารถใช้ได้ดีกว่า ข้อมูลดิบที่ส่งคืนคือ: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", "color": "blue", "age": "33" }, { "name": "eddie", "color": "green", "age": "77" } ] ฉันต้องการให้_.groupByฟังก์ชันส่งคืนวัตถุที่มีลักษณะดังนี้: [ { color: "blue", users: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", …

23
ข้อผิดพลาด: EACCES: การอนุญาตถูกปฏิเสธ
ฉันเรียกใช้npm install lodashแต่มันแสดงข้อผิดพลาด: EACCES:ข้อผิดพลาดที่ปฏิเสธการอนุญาต ฉันรู้ว่ามันเป็นปัญหาการอนุญาต แต่เท่าที่ฉันรู้ไม่จำเป็นต้องมีสิทธิ์ sudo สำหรับการติดตั้งโมดูลโหนดในเครื่อง ถ้าฉันรันด้วย sudo มันจะถูกติดตั้งภายในโฟลเดอร์ ~ / node_modules drwxrwxr-xเป็นการอนุญาตไฟล์ของโฟลเดอร์ที่มีอยู่ ฉันคิดไม่ออกว่าจะเกิดอะไรขึ้น ด้านล่างนี้คือข้อความแสดงข้อผิดพลาด npm ERR! tar.unpack untar error /home/rupesh/.npm/lodash/4.13.1/package.tgz npm ERR! Linux 3.13.0-88-generic npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "lodash" npm ERR! node v4.3.1 npm ERR! npm v2.14.12 npm ERR! path /home/rupesh/node_modules/lodash npm ERR! code EACCES …
106 node.js  lodash 

8
lodash: การแมปอาร์เรย์กับวัตถุ
มีฟังก์ชั่น lodash ในตัวหรือไม่: var params = [ { name: 'foo', input: 'bar' }, { name: 'baz', input: 'zle' } ]; และส่งออกสิ่งนี้: var output = { foo: 'bar', baz: 'zle' }; ตอนนี้ฉันกำลังใช้Array.prototype.reduce(): function toHash(array, keyName, valueName) { return array.reduce(function(dictionary, next) { dictionary[next[keyName]] = next[valueName]; return dictionary; }, {}); } toHash(params, 'name', …

3
Lodash: วิธีการเรียงลำดับแบบไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ในคอลเลกชันโดยใช้ orderBy?
ฉันจะตรวจสอบคำตอบนี้แต่เพื่อให้บรรลุผลเดียวกันนั่นคือการได้รับการเรียงลำดับกรณีตายฉันต้องการที่จะใช้orderByแทนsortByเนื่องจากมันจะช่วยให้ความสามารถในการระบุลำดับการจัดเรียง วิธีเดียวที่ฉันพบเพื่อให้บรรลุคือการสร้างอาร์เรย์ "กลาง" ที่โคลนซึ่งแมปกับตัวพิมพ์เล็กname: const users = [ { name: 'A', age: 48 }, { name: 'B', age: 34 }, { name: 'b', age: 40 }, { name: 'a', age: 36 } ]; let lowerCaseUsers = _.clone(users); lowerCaseUsers = lowerCaseUsers.map((user) => { user.name = user.name.toLowerCase(); return user; }); const sortedUsers …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.