Hướng dẫn search in associative array javascript - tìm kiếm trong mảng kết hợp javascript

Tôi đã tạo một mảng kết hợp bằng cách sử dụng chức năng sau.

function checkEmpty(){

            var sizes = new Array();
            var validate = new Array();
            $j('div.option-fields').each(function(){
                if($j(this).attr('id')) {

                    sizes.push($j(this).attr('id'));
                }

            });
            for(var i=0; i< sizes.size(); i++){
                $j("#"+sizes[i]+' input[type=text]').each(function(){
                    if($j(this).val()){
                        //validate.push(true);
                        validate[sizes[i]] = true;  
                    }else{
                        //validate.push(false);
                        validate[sizes[i]] = false;
                    }
                });

            }
}

trả về [size-278: true, kích thước-287: true]

Bây giờ tôi muốn tìm kiếm xem kết quả này có chứa giả về giá trị hay không, hoặc liệu tất cả các giá trị có chỉ mục khác nhau có giống nhau hay không.

Tôi đã sử dụng inarray nhưng nó đang cho -1 mỗi lần.

Hướng dẫn search in associative array javascript - tìm kiếm trong mảng kết hợp javascript

Kukkuz

40,5K6 Huy hiệu vàng54 Huy hiệu bạc91 Huy hiệu Đồng6 gold badges54 silver badges91 bronze badges

Hỏi ngày 9 tháng 8 năm 2017 lúc 13:38Aug 9, 2017 at 13:38

2

Tốt hơn là

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(false));

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(true));
3 sẽ là một hàm băm chứ không phải là mảng

Tìm kiếm các mảng kết hợp ở đây: https://www.w3schools.com/js/js_arrays.asp

Vì vậy, tuyên bố nó như thế này:

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(false));

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(true));
4

Hơn bạn sẽ nhận được một cái gì đó giống như {size-278: true, size-287: true

Và bạn có thể tìm kiếm giá trị sai như thế này:

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(false));

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(true));

Lưu ý rằng

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(false));

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(true));
5 có thể không được hỗ trợ trong trình duyệt cũ hơn

Hướng dẫn search in associative array javascript - tìm kiếm trong mảng kết hợp javascript

Arun J.

6874 Huy hiệu vàng14 Huy hiệu bạc27 Huy hiệu đồng4 gold badges14 silver badges27 bronze badges

Đã trả lời ngày 9 tháng 8 năm 2017 lúc 13:58Aug 9, 2017 at 13:58

1

Để tìm kiếm một giá trị trong một mảng kết hợp, bạn làm như vậy:

listOfLanguagesAndTheirSubtags = {"Afrikaans" : "AF", "Dansk" : "DA", "Deutsch": "DE", "English": "EN",  "Italiano" : "IT" }; 
var values = Object.values(listOfLanguagesAndTheirSubtags);
var subtagToFind = "AF"; 
if(values.includes(subtagToFind))
{
   console.log('value is found');
}
else
{
   console.log('value NOT found'); 
}

Để tìm kiếm xem tất cả các giá trị với các chỉ số khác nhau có giống nhau hay không, bạn có thể đi xa hơn như vậy:

var numberOfOccurencesOfSubtag = values.filter(function(value){
return value === subtagToFind;}).length 
if(numberOfOccurencesOfSubtag === values.length)
{
    console.log("All values with different indices are the same");//... as subtagToFind
}
else
{
    console.log("All values with different indices are NOT the same");//... as subtagToFind
}

Đã trả lời ngày 26 tháng 9 năm 2019 lúc 8:13Sep 26, 2019 at 8:13

Hướng dẫn search in associative array javascript - tìm kiếm trong mảng kết hợp javascript

Mảng liên kết với ví dụ là gì?

Mảng liên kết được sử dụng để lưu trữ các cặp giá trị chính. Ví dụ, để lưu trữ các dấu hiệu của một môn học khác nhau của một học sinh trong một mảng, một mảng được lập chỉ mục bằng số sẽ không phải là lựa chọn tốt nhất.

  • ARR làm gì trong JavaScript?
  • Mảng. Phương pháp bản đồ là một trong những hữu ích nhất và thường được sử dụng. Nó gọi hàm cho từng phần tử của mảng và trả về mảng kết quả.
  • Chiều dài của một mảng kết hợp
  • Trong blog này, chúng tôi sẽ xem xét một mảng kết hợp là gì, nó khác với một mảng bình thường như thế nào và cách tính độ dài của nó và truy xuất tất cả các yếu tố.
  • ________số 8

ARR làm gì trong JavaScript?

Mảng. Phương pháp bản đồ là một trong những hữu ích nhất và thường được sử dụng. Nó gọi hàm cho từng phần tử của mảng và trả về mảng kết quả.about looping through an associative array in this blog

Trong blog này, chúng tôi sẽ xem xét một mảng kết hợp là gì, nó khác với một mảng bình thường như thế nào và cách tính độ dài của nó và truy xuất tất cả các yếu tố.

var arr = {key1:'value1', key2:'value2'}

Mục lục

var arr = { "Company Name": ‘Flexiple’, "ID": 123}; 

Chiều dài của một mảng kết hợp

Bây giờ chúng ta đã biết cách khai báo một mảng kết hợp, hãy để chúng tôi xem làm thế nào chúng ta có thể tính độ dài của nó.

Vì chúng ta sẽ không còn có thể sử dụng thuộc tính độ dài của đối tượng mảng, trước tiên chúng ta hãy xác định một phương thức trả về kích thước của mảng trước khi chúng ta sử dụng nó.

Object.size = function(arr) {
    var size = 0;
    for (var key in arr) {
        if (arr.hasOwnProperty(key)) size++;
    }
    return size;
};

Tham khảo bài viết này để biết thêm về Hasonwnproperty.

Bây giờ chúng tôi có phương thức kích thước được xác định, hãy để chúng tôi sử dụng nó

var len = Object.size(x);
document.write("Length=" + len);

//Output: Length = 2

Sử dụng phương thức khóa

Phương thức các phím trả về một mảng của tất cả các thuộc tính, vì vậy sử dụng phương thức này, chúng ta có thể áp dụng thuộc tính độ dài của mảng.

________số 8

Lấy các yếu tố

Để rút lại tất cả các yếu tố của một mảng kết hợp, không thể sử dụng một vòng lặp đơn giản như trong trường hợp của một mảng bình thường vì các phần tử không thể truy cập được bởi một chỉ mục. Đây là cách chúng ta có thể làm điều đó thay thế

var arr = {
    "Company Name": 'Flexiple',
    "ID": 123
};
for (var key in arr) {
    var value = arr[key];
    document.write(key + " = " + value + '
'); } //Output: Company Name = Flexiple ID = 123

Sử dụng phương thức khóa

Phương thức các phím trả về một mảng của tất cả các thuộc tính, vì vậy sử dụng phương thức này, chúng ta có thể áp dụng thuộc tính độ dài của mảng.

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(false));

var validate = {'size-278': true, 'size-287': true};
var values = Object.values(validate);
console.log(values.indexOf(true));
0

Nó khác với một mảng bình thường như thế nào?

  1. Không giống như các mảng đơn giản, chúng tôi sử dụng niềng răng xoăn thay vì dấu ngoặc vuông.
  2. Nội dung hoặc giá trị của các mảng kết hợp được truy cập bởi các khóa.
  3. Một mảng kết hợp là một mảng với các phím chuỗi thay vì các khóa số. Ví dụ:
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(false));
    
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(true));
    1 Tại đây, các khóa của mảng kết hợp là tên công ty của người Hồi giáo và ID ID, trong khi trong mảng Normall. Các phím hoặc chỉ mục là 0 & 1
    For example:
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(false));
    
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(true));
    1 Here, the keys of the associative array are “Company Name” & “ID” whereas in the normall array. The keys or index is 0 & 1
  4. Mảng liên kết là các đối tượng động mà người dùng xác định lại khi cần thiết. Khi bạn gán các giá trị cho các khóa trong một biến của mảng, mảng được chuyển thành một đối tượng và nó sẽ mất các thuộc tính và phương thức của mảng.
  5. Thuộc tính độ dài không có hiệu lực vì biến không còn thuộc loại mảng.
  6. Chúng ta có thể tạo một mảng kết hợp với từ dành riêng cho đối tượng, sau đó và gán các khóa và giá trị: ________ 12
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(false));
    
    var validate = {'size-278': true, 'size-287': true};
    var values = Object.values(validate);
    console.log(values.indexOf(true));
    2

Làm thế nào để bạn tìm kiếm một mảng trong javascript?

Sử dụng bộ lọc nếu bạn muốn tìm tất cả các mục trong một mảng đáp ứng một điều kiện cụ thể. Sử dụng Tìm nếu bạn muốn kiểm tra xem ít nhất một mục đáp ứng một điều kiện cụ thể. Sử dụng bao gồm nếu bạn muốn kiểm tra xem một mảng có chứa một giá trị cụ thể không. Sử dụng indexof nếu bạn muốn tìm chỉ mục của một mục cụ thể trong một mảng.. Use find if you want to check if that at least one item meets a specific condition. Use includes if you want to check if an array contains a particular value. Use indexOf if you want to find the index of a particular item in an array.

Có một mảng kết hợp trong JavaScript?

JavaScript không hỗ trợ các mảng liên kết.Bạn nên sử dụng các đối tượng khi bạn muốn các tên thành phần là chuỗi (văn bản).Bạn nên sử dụng các mảng khi bạn muốn tên thành phần là số.. You should use objects when you want the element names to be strings (text). You should use arrays when you want the element names to be numbers.

Mảng liên kết với ví dụ là gì?

Mảng liên kết được sử dụng để lưu trữ các cặp giá trị chính.Ví dụ, để lưu trữ các dấu hiệu của một môn học khác nhau của một học sinh trong một mảng, một mảng được lập chỉ mục bằng số sẽ không phải là lựa chọn tốt nhất.used to store key value pairs. For example, to store the marks of different subject of a student in an array, a numerically indexed array would not be the best choice.

ARR làm gì trong JavaScript?

Mảng.Phương pháp bản đồ là một trong những hữu ích nhất và thường được sử dụng.Nó gọi hàm cho từng phần tử của mảng và trả về mảng kết quả.calls the function for each element of the array and returns the array of results.