Один ярлык, о котором я не упомянул, заключается в том, что если вы знаете, как создавались списки, вы можете объединить их в строки и сравнить напрямую.
Например ...
В моем случае я хотел предложить пользователю список слов. Я хотел убедиться, что каждое слово начинается с буквы, но после этого оно может содержать буквы, цифры или подчеркивания. Я особенно обеспокоен тем, что пользователи будут использовать тире или начинать с цифр.
Я использую регулярные выражения, чтобы разбить его на 2 списка, и они объединяют их вместе и сравнивают как строки:
var testList = userInput.match(/[-|\w]+/g)
/*the above catches common errors:
using dash or starting with a numeric*/
listToUse = userInput.match(/[a-zA-Z]\w*/g)
if (listToUse.join(" ") != testList.join(" ")) {
return "the lists don't match"
Поскольку я знал, что ни один из списков не будет содержать пробелов и что списки содержали только простые строки, я мог соединить их вместе с пробелом и сравнить их.