Hướng dẫn alternative to indexof javascript - thay thế cho chỉ mục của javascript

3

Show

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có chuỗi là

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
9. Những gì tôi muốn tìm là vị trí của
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
0. Tôi biết tôi có thể đã làm điều này bằng cách sử dụng
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
1, tuy nhiên tôi không muốn sử dụng
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2.

Bất kỳ ý tưởng/ đề xuất cho sự thay thế?

JSfiddle

Một lần nữa, tôi chỉ cần được thực hiện bởi JavaScript. Không có jquery .. thật đáng buồn :(Javascript only. No jQuery.. sadly :(

Hướng dẫn alternative to indexof javascript - thay thế cho chỉ mục của javascript

Mark Fox

8,5439 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng9 gold badges53 silver badges73 bronze badges

Đã hỏi ngày 2 tháng 12 năm 2012 lúc 12:16Dec 2, 2012 at 12:16

Fahim Parkarfahim ParkarFahim Parkar

30.3K41 Huy hiệu vàng157 Huy hiệu bạc274 Huy hiệu đồng41 gold badges157 silver badges274 bronze badges

4

.search()?

"this is test for alternative".search("for")
>> 13

Đã trả lời ngày 2 tháng 12 năm 2012 lúc 12:21Dec 2, 2012 at 12:21

3

Bạn có thể mã hóa chỉ mục của riêng bạn? Bạn lặp trên chuỗi nguồn và trên mỗi ký tự bạn kiểm tra xem nó có thể là từ được tìm kiếm của bạn không.

Một phiên bản chưa được kiểm tra để cung cấp cho bạn một ý tưởng:

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}

Đã trả lời ngày 2 tháng 12 năm 2012 lúc 12:24Dec 2, 2012 at 12:24

Hướng dẫn alternative to indexof javascript - thay thế cho chỉ mục của javascript

Koopajahkoopajahkoopajah

22.2K9 Huy hiệu vàng72 Huy hiệu bạc101 Huy hiệu đồng9 gold badges72 silver badges101 bronze badges

Indexof sử dụng nghĩa đen để phù hợp, nhưng có một offset.Search không trả về một phần bù.Search does return an offset.

9

Indexof sử dụng nghĩa đen để phù hợp, nhưng có một offset.Search không trả về một phần bù.Search does return an offset.

Tôi có chuỗi là
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
9. Những gì tôi muốn tìm là vị trí của
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
0. Tôi biết tôi có thể đã làm điều này bằng cách sử dụng

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
0, tuy nhiên tôi không muốn sử dụng
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
1.

  • Thông số
  • Giá trị trả lại
  • Sự mô tả
  • Ví dụ
  • function myIndexOf(myString, word) {
        var len = myString.length;
        var wordLen = word.length;
        for(var i = 0; i < len; i++) {
            var j = 0;
            for(j = 0; j < wordLen; j++) {
                if(myString[i+j] != word[j]) {
                    break;
                }
            }
            if(j == wordLen) {
                return i;
            }
        }
    
        return -1;
    }
    
    2 để định vị các giá trị trong một mảng.
    function myIndexOf(myString, word) {
        var len = myString.length;
        var wordLen = word.length;
        for(var i = 0; i < len; i++) {
            var j = 0;
            for(j = 0; j < wordLen; j++) {
                if(myString[i+j] != word[j]) {
                    break;
                }
            }
            if(j == wordLen) {
                return i;
            }
        }
    
        return -1;
    }
    
    0
  • Tìm thấy tất cả các sự xuất hiện của một yếu tố
  • Tìm kiếm nếu một phần tử tồn tại trong mảng hay không và cập nhật mảng
  • function myIndexOf(myString, word) {
        var len = myString.length;
        var wordLen = word.length;
        for(var i = 0; i < len; i++) {
            var j = 0;
            for(j = 0; j < wordLen; j++) {
                if(myString[i+j] != word[j]) {
                    break;
                }
            }
            if(j == wordLen) {
                return i;
            }
        }
    
        return -1;
    }
    
    2 để tìm kiếm các khe trống trong các mảng thưa thớt.
    function myIndexOf(myString, word) {
        var len = myString.length;
        var wordLen = word.length;
        for(var i = 0; i < len; i++) {
            var j = 0;
            for(j = 0; j < wordLen; j++) {
                if(myString[i+j] != word[j]) {
                    break;
                }
            }
            if(j == wordLen) {
                return i;
            }
        }
    
        return -1;
    }
    
    4
  • Thông số kỹ thuật
  • Tính tương thích của trình duyệt web
  • Chỉ số nào tốt hơn hoặc bao gồm?
  • Chỉ mục nhanh hơn hoặc bao gồm là gì?
  • Sự khác biệt giữa Indexof và FindIndex là gì?
  • Sự khác biệt giữa indexof và tìm kiếm trong javascript là gì?

Bất kỳ ý tưởng/ đề xuất cho sự thay thế?

JSfiddle

Một lần nữa, tôi chỉ cần được thực hiện bởi JavaScript. Không có jquery .. thật đáng buồn :(Javascript only. No jQuery.. sadly :(Javascript only. No jQuery.. sadly :(

Mark Fox

8,5439 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng9 gold badges53 silver badges73 bronze badges9 gold badges53 silver badges73 bronze badges

Đã hỏi ngày 2 tháng 12 năm 2012 lúc 12:16Dec 2, 2012 at 12:16Dec 2, 2012 at 12:16

Fahim Parkarfahim ParkarFahim ParkarFahim Parkar

30.3K41 Huy hiệu vàng157 Huy hiệu bạc274 Huy hiệu đồng41 gold badges157 silver badges274 bronze badges41 gold badges157 silver badges274 bronze badges

4

.search()?

"this is test for alternative".search("for")
>> 13

Đã trả lời ngày 2 tháng 12 năm 2012 lúc 12:21Dec 2, 2012 at 12:21Dec 2, 2012 at 12:21

3

Bạn có thể mã hóa chỉ mục của riêng bạn? Bạn lặp trên chuỗi nguồn và trên mỗi ký tự bạn kiểm tra xem nó có thể là từ được tìm kiếm của bạn không.

Một phiên bản chưa được kiểm tra để cung cấp cho bạn một ý tưởng:

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}

Đã trả lời ngày 2 tháng 12 năm 2012 lúc 12:24Dec 2, 2012 at 12:24Dec 2, 2012 at 12:24

Koopajahkoopajahkoopajahkoopajah

22.2K9 Huy hiệu vàng72 Huy hiệu bạc101 Huy hiệu đồng9 gold badges72 silver badges101 bronze badges9 gold badges72 silver badges101 bronze badges

Trong hầu hết các ngôn ngữ,

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 trả về -1 nếu không tìm thấy phần tử, IMO có hiệu quả một chút. Sự thay thế tốt nhất cho điều này trong ngôn ngữ lập trình của bạn là gì? Có bất kỳ chức năng nào sẽ chỉ trả về giá trị boolean cho biết nếu phần tử được tìm thấy?

9

Phương thức

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 trả về chỉ mục đầu tiên mà tại đó một phần tử nhất định có thể được tìm thấy trong mảng hoặc -1 nếu nó không có.
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 method returns the first index at which a given element can be found in the array, or -1 if it is not present.
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2
method returns the first index at which a given element can be found in the array, or -1 if it is not present.

Thử nó

Cú pháp

indexOf(searchElement)
indexOf(searchElement, fromIndex)

Thông số

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
4

Phần tử để định vị trong mảng.

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
5 Tùy chọnOptionalOptional

Chỉ mục để bắt đầu tìm kiếm tại. Nếu chỉ mục lớn hơn hoặc bằng chiều dài của mảng, -1 được trả về, điều đó có nghĩa là mảng sẽ không được tìm kiếm. Nếu giá trị chỉ mục được cung cấp là một số âm, nó được lấy làm phần bù từ cuối mảng. Lưu ý: Nếu chỉ mục được cung cấp là âm, mảng vẫn được tìm kiếm từ trước đến sau. Nếu chỉ mục được cung cấp là 0, thì toàn bộ mảng sẽ được tìm kiếm. Mặc định: 0 (toàn bộ mảng được tìm kiếm).

Giá trị trả lại

Chỉ số đầu tiên của phần tử trong mảng; -1 nếu không tìm thấy.-1 if not found.-1 if not found.

Sự mô tả

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 so sánh
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
4 với các phần tử của mảng bằng cách sử dụng bình đẳng nghiêm ngặt (cùng một phương pháp được sử dụng bởi toán tử
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
8 hoặc ba công bằng).

Phương pháp

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 bỏ qua các khe trống trong các mảng thưa thớt.

Phương pháp

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 bỏ qua các khe trống trong các mảng thưa thớt.

function myIndexOf(myString, word) { var len = myString.length; var wordLen = word.length; for(var i = 0; i < len; i++) { var j = 0; for(j = 0; j < wordLen; j++) { if(myString[i+j] != word[j]) { break; } } if(j == wordLen) { return i; } } return -1; } 2 là chung chung. Nó chỉ mong đợi giá trị indexOf(searchElement) indexOf(searchElement, fromIndex) 1 có thuộc tính indexOf(searchElement) indexOf(searchElement, fromIndex) 2 và các thuộc tính được khóa.

Ví dụ

Sử dụng indexof ()

Ví dụ sau sử dụng

function myIndexOf(myString, word) { var len = myString.length; var wordLen = word.length; for(var i = 0; i < len; i++) { var j = 0; for(j = 0; j < wordLen; j++) { if(myString[i+j] != word[j]) { break; } } if(j == wordLen) { return i; } } return -1; } 2 để định vị các giá trị trong một mảng.function myIndexOf(myString, word) { var len = myString.length; var wordLen = word.length; for(var i = 0; i < len; i++) { var j = 0; for(j = 0; j < wordLen; j++) { if(myString[i+j] != word[j]) { break; } } if(j == wordLen) { return i; } } return -1; } 0

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
1

Tìm thấy tất cả các sự xuất hiện của một yếu tố

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2

Tìm kiếm nếu một phần tử tồn tại trong mảng hay không và cập nhật mảng

Sử dụng indexof () trên các mảng thưa thớt

Bạn không thể sử dụng

function myIndexOf(myString, word) { var len = myString.length; var wordLen = word.length; for(var i = 0; i < len; i++) { var j = 0; for(j = 0; j < wordLen; j++) { if(myString[i+j] != word[j]) { break; } } if(j == wordLen) { return i; } } return -1; } 2 để tìm kiếm các khe trống trong các mảng thưa thớt.function myIndexOf(myString, word) { var len = myString.length; var wordLen = word.length; for(var i = 0; i < len; i++) { var j = 0; for(j = 0; j < wordLen; j++) { if(myString[i+j] != word[j]) { break; } } if(j == wordLen) { return i; } } return -1; } 4

Gọi indexof () trên các đối tượng không phải là

Phương thức

Thông số kỹ thuật

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
2 đọc thuộc tính
indexOf(searchElement)
indexOf(searchElement, fromIndex)
2 của
indexOf(searchElement)
indexOf(searchElement, fromIndex)
1 và sau đó truy cập vào từng chỉ mục số nguyên.
function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}
8
Sự chỉ rõ
# sec-array.prototype.indexof

Tính tương thích của trình duyệt web

Thông số kỹ thuật ngôn ngữ Ecmascript # sec-array.prototype.indexof# sec-array.prototype.indexof

Bảng BCD chỉ tải trong trình duyệt

Chỉ số nào tốt hơn hoặc bao gồm?

Xem thêmIf you need to know where the element is in the array, you need to use the indexOf() method.

Chỉ mục nhanh hơn hoặc bao gồm là gì?

Tôi sẽ đề xuất sử dụng phương thức bao gồm () để kiểm tra xem phần tử có mặt trong mảng không.Nếu bạn cần biết phần tử nằm ở đâu trong mảng, bạn cần sử dụng phương thức indexof ().If you need to know where the element is in the array, you need to use the indexOf() method.indexOf is actually faster.

Sự khác biệt giữa Indexof và FindIndex là gì?

Lịch sử.Indexof đã được tạo ra trước khi bao gồm.Có vẻ như sự khác biệt trong hiệu suất không phải là rõ ràng.Firefox di động của tôi cho thấy chỉ mục thực sự nhanh hơn.indexOf is actually faster. indexOf - Returns the index of the first occurrence of a value in an array.

Sự khác biệt giữa indexof và tìm kiếm trong javascript là gì?

FindIndex - Trả về chỉ mục của phần tử đầu tiên trong mảng trong đó vị ngữ là đúng và -1 nếu không. Indexof - Trả về chỉ số của lần xuất hiện đầu tiên của một giá trị trong một mảng.indexOf - Returns the index of the first occurrence of a value in an array. Search does return an offset.