Поскольку вы используете join("")
, это вызывает метод toString
для каждого элемента в массиве - они оказываются объектами, а метод toString
объекта возвращает [object Object]
:
let obj = {};
console.log(obj.toString());
Эту проблему можно избежать, сопоставив сначала JSON.stringify
.
var list = [{name:'anne',age:20,gender:'F'},{name:'david',age:50,gender:'M'},{name:'mark',age:33,gender:'M'}];
const res = this.list.slice().reverse().map(JSON.stringify).join('');
console.log("res[2] ===> ", res[2]); //Returns "n" because {"n are the first three characters in the string
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }
Обратите внимание, что выше все еще возвращает символ.Если вы хотите получить объект, удалите join
и map
:
var list = [{name:'anne',age:20,gender:'F'},{name:'david',age:50,gender:'M'},{name:'mark',age:33,gender:'M'}];
const res = this.list.slice().reverse();
console.log("res[2] ===> ", res[2]); //Returns "n" because {"n are the first three characters in the string
console.log(res);
.as-console-wrapper { max-height: 100% !important; top: auto; }