2021-12-10 02:37:01 +00:00
|
|
|
/**
|
|
|
|
|
* @license
|
|
|
|
|
* Copyright Google LLC All Rights Reserved.
|
|
|
|
|
*
|
|
|
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
|
|
|
* found in the LICENSE file at https://angular.io/license
|
|
|
|
|
*/
|
|
|
|
|
|
2020-03-05 22:41:18 +00:00
|
|
|
// works with arrays of string, numbers and booleans
|
2021-12-09 05:44:17 +00:00
|
|
|
export const arrayEquals =
|
|
|
|
|
(a: (string|number|boolean)[], b: (string|number|boolean)[]): boolean => {
|
|
|
|
|
if (a.length !== b.length) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (a.length === 0) {
|
|
|
|
|
return b.length === 0;
|
|
|
|
|
}
|
2020-03-05 22:41:18 +00:00
|
|
|
|
2021-12-09 05:44:17 +00:00
|
|
|
let equal;
|
|
|
|
|
for (let i = 0; i < a.length; i++) {
|
|
|
|
|
equal = i === 0 ? a[i] === b[i] : a[i] === b[i] && equal;
|
|
|
|
|
if (!equal) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-12-16 07:00:43 +00:00
|
|
|
return equal ?? false;
|
2021-12-09 05:44:17 +00:00
|
|
|
};
|