- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi có mảng đối tượng này
nguồn var = [
{id: 1, nhãn: "một"},
{id: 2, nhãn: "hai"},
{id: 3, nhãn: "ba"}
];
Tôi cần thêm một mục hoặc thay thế nó nếu nó có cùng id
var new_sub = {id: 1, nhãn: "nhãn mới cho một"};
var new_add = {id: 4, nhãn: "bốn"};
nguồn = myFunc(new_sub);
nguồn = myFunc(new_add);
hàm myFunc(obj) {
return (source.findIndex(x => x.id === obj.id) === -1) ?
source.concat(obj) : source.map((item) => {
return (item.id === obj.id) ? obj : item;
});
}
Mã này hoạt động tốt, nhưng có cách nào tốt hơn không? Bạn có thể kiểm tra mã của tôi với đoạn mã này:
nguồn var = [
{id: 1, nhãn: "một"},
{id: 2, nhãn: "hai"},
{id: 3, nhãn: "ba"}
];
var new_sub = {id: 1, nhãn: "nhãn mới cho một"};
var new_add = {id: 4, nhãn: "bốn"};
nguồn = myFunc(new_sub);
nguồn = myFunc(new_add);
hàm myFunc(obj) {
return (source.findIndex(x => x.id === obj.id) === -1) ?
source.concat(obj) : source.map((item) => {
return (item.id === obj.id) ? obj : item;
});
}
//IN
var html = "";
source.map((item) => {
html += "" + item.id + " - " + item.label + " ";
});
$("#resp").html(html);
câu trả lời hay nhất
Bạn đang thực hiện nhiều lần truyền vào mảng (một lần trong tìm chỉ mục
vào, và sau đó một lần vào concat
hoặc bản đồ
), điều này là không cần thiết. Chỉ cần một lượt là đủ:
hàm myFunc(a, obj) {
hãy tìm thấy = sai;
kết quả const = a.map(e => {
if (!found && e.id === obj.id) {
tìm thấy = đúng;
trả lại đối tượng;
} khác {
trả lại e;
}
});
nếu (! tìm thấy) {
result.push(obj);
}
return result;
}
Lưu ý rằng tôi đang truyền mảng nguồn dưới dạng tham số cho hàm, vì vậy nó không có tác dụng phụ.
nguồn var = [
{id: 1, nhãn: "một"},
{id: 2, nhãn: "hai"},
{id: 3, nhãn: "ba"}
];
var new_sub = {id: 1, nhãn: "nhãn mới cho một"};
var new_add = {id: 4, nhãn: "bốn"};
nguồn = myFunc(nguồn, new_sub);
nguồn = myFunc(nguồn, new_add);
console.log(nguồn);
hàm myFunc(a, obj) {
hãy tìm thấy = sai;
kết quả const = a.map(e => {
if (!found && e.id === obj.id) {
tìm thấy = đúng;
trả lại đối tượng;
} khác {
trả lại e;
}
});
nếu (! tìm thấy) {
result.push(obj);
}
return result;
}
Tất nhiên, nếu mảng nhỏ và bạn biết đây là trường hợp tiêu chuẩn thì điều đó không thực sự quan trọng.
Nếu bạn muốn lạm dụng (theo ý kiến của tôi) ,
toán tử để giữ mọi thứ đơn giản:
hàm myFunc(a, obj) {
hãy tìm thấy = sai;
const result = a.map(e => e.id === obj.id ? (found = true, obj) : e);
nếu (! tìm thấy) {
result.push(obj);
}
return result;
}
Về javascript - thêm một mục vào một mảng hoặc thay thế nó nếu nó có cùng ID, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45459703/
Tôi đang cố gắng tạo một mảng chứa các mục int[][] tức là int version0Indexes[][4] = { {1,2,3,4}, {5,6,7,8} };
Tôi có một mảng các số nguyên: private int array[]; Nếu tôi cũng có một phương thức tên là add, thì sự khác biệt giữa: public void add(int value) { array[va
Khi bạn cố gắng thêm một mảng vào một mảng khác trong JavaScript, nó sẽ chuyển đổi mảng đó thành một chuỗi. Thông thường khi thực hiện việc này bằng ngôn ngữ khác, các danh sách sẽ được hợp nhất. JavaScript [1, 2] + [3, 4] = "
Theo hướng dẫn tôi đang đọc, nếu bạn muốn tạo một bảng có 5 cột và 3 hàng để thể hiện dữ liệu như thế này... 45 4 34 99 56 3 23 99 43 2 1 1 0 43 67 ... nó nói bạn có thể sử dụng nó
Tôi thường viết tập lệnh/chương trình bằng python, nhưng gần đây tôi mới bắt đầu lập trình bằng JavaScript và tôi gặp một số vấn đề khi làm việc với mảng. Trong python, khi tôi tạo một mảng và sử dụng for x in y, tôi nhận được
Tôi có một mảng như thế này: temp = [ 'data1', ['data1_a','data1_b'], ['data2_a','data2_b','data2_c'] ] // Tôi muốn sử dụng toStr
Rent_property (tên bảng) id fullName propertyName 1 A Tên nhà1 2 B
Câu hỏi này đã có câu trả lời ở đây: Đã đóng 13 năm trước. Có thể trùng lặp: Trong mảng C tại sao điều này lại đúng? a[5] == 5[a] array[index] và
Sử dụng Excel 2013. Bài đăng đầu tiên của tôi sau nhiều năm tìm kiếm và thích nghi. Tôi đang cố gắng đối sánh người dùng Ứng dụng hiện tại (tức là "John Smith") với địa chỉ email của anh ấy là "jsmith@work.com". Sử dụng hai
áp dụng dường như không tập hợp lại mảng 3D khi chỉ hoạt động trên một lề. Hãy xem xét: mảng 1), nhưng đối với tôi, điều kỳ lạ là nếu một hàm trả về một đối tượng có kích thước thì về cơ bản chúng sẽ bị bỏ qua. Câu trả lời hay nhất là nó không có ý nghĩa
Tôi có cơ sở dữ liệu MySQL chứa tọa độ GPS. Đây là một phần mã PHP của tôi để truy xuất tọa độ; $sql = "SELECT lat, lon FROM gps_data";
Mình cần tìm cách để làm được điều này, mình có một mảng hình [batch_size, 150, 1] biểu diễn dãy batch_size của các số nguyên, mỗi dãy dài 150 phần tử nhưng có rất nhiều số 0 được thêm vào trong mỗi dãy, do đó tất cả các chuỗi đều có pha
Tôi phải nhận văn bản qua json trong url. Hệ thống phân cấp như sau: Đối tượng>Mảng>Đối tượng>Mảng>Đối tượng. Tôi muốn nhận được văn bản bằng mã này. Nhưng tôi gặp lỗi: org.json.JSONException: No value
nhập mã vào đây- (void)viewDidLoad { NSMutableArray *imageViewArray= [[NSMutableArray alloc] init];
Bạn có ý tưởng nào về cách thực hiện thao tác cắt trên mảng chuỗi 2D, chẳng hạn như 3x3 bằng API phát trực tuyến Java và thu thập lại thành mảng 3x3 có cùng kích thước không? Vấn đề là tránh sử dụng các vòng lặp for rõ ràng. Giải pháp hiện tại chỉ đơn giản là thực hiện một fo
Đã đóng cửa. Sự cố này yêu cầu chi tiết gỡ lỗi. Câu trả lời không được chấp nhận vào thời điểm này. Chỉnh sửa câu hỏi để bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và
Tôi có đầu ra XML sau từ dịch vụ web ASP.NET: 1710 1711 1712 1713
Nếu tôi có một đối tượng cần làm trong trạng thái của bạn và đối tượng đó chứa một danh sách mảng thì bên trong danh sách có các đối tượng và bên trong các đối tượng đó có một mảng listItems khác. Cách cập nhật cặp có id "poi098" trong mảng listItems
Tôi muốn đóng gói một mảng bool có độ dài tối đa 8 thành một byte, gửi nó qua mạng và sau đó giải nén nó trở lại thành một mảng bool. Đã thử một số giải pháp ở đây nhưng không có kết quả. Tôi đang sử dụng đơn âm. Tôi đã tạo BitArray và sau đó thử
Chúng tôi có trường này trong cơ sở dữ liệu cho biết cờ đúng/sai cho mỗi ngày trong tuần, như sau: '1111110' Tôi cần chuyển đổi giá trị này thành mảng boolean. Đối với điều này tôi đã viết đoạn mã sau: char[] freqs = ngày trong tuần
Tôi là một lập trình viên xuất sắc, rất giỏi!