I'm attempting to return two arrays(multiple values) through declaring them as objects
<script>
function funWithArrays(arr) {
const arr1 = []; //short string
const arr2 = []; //long string
for (var i = 0; i < arr.length; i++) {
if (arr[i].length <= 3) {
arr1.push(arr[i]);
} else {
arr2.push(arr[i]);
}
}
return {
arr1,
arr2
};
}
document.getElementById("results").innerHTML = funWithArrays(["we", "cream", "to", "this", "two"]);
</script>
This is my attempt to do so, however, when I go to run it the output is as follows:
[object Object]
I'm wondering why the actual arrays aren't being returned?
You are returning incorrectly.
replace return {arr1, arr2} with return [...arr1, ...arr2] to return a single array.
Wrapping arrays in curly brackets( { } ) convert them into an object. Since you need to return an array, wrap your arrays in square brackets( [ ] ) instead.
documentation for Spread Operator