Javascript 如何洗牌对象数组

Javascript 如何洗牌对象数组,javascript,reactjs,Javascript,Reactjs,我试图使用shuffle npm模块()来洗牌对象数组-但是我遇到了类似“ypeError:Object(…)不是函数”这样的错误 let posts = [ { postUrl: "https://www.linkedin.com/1", action: "Post", profileUrl: "https://www.linkedin.com/company/1", timestamp: "2019-10-09T09:40:05.356Z"

我试图使用shuffle npm模块()来洗牌对象数组-但是我遇到了类似“ypeError:Object(…)不是函数”这样的错误

   let posts = [
   {
    postUrl: "https://www.linkedin.com/1",
    action: "Post",
    profileUrl: "https://www.linkedin.com/company/1",
    timestamp: "2019-10-09T09:40:05.356Z"
    },
    {
    postUrl: "https://www.linkedin.com/2",
    action: "Post",
    profileUrl: "https://www.linkedin.com/company/2",
    timestamp: "2019-10-09T09:40:05.356Z"
    },
    {
    postUrl: "https://www.linkedin.com/3",
    action: "Post",
    profileUrl: "https://www.linkedin.com/company/3",
    timestamp: "2019-10-09T09:40:05.356Z"
    },
]

posts = shuffle(posts);

你能看出我错在哪里吗?或者如何洗牌这些对象?

对于大多数使用,最好的方法是使用Fisher-Yates/Knuth洗牌,我相信其他一些人会链接到。本文对此进行了讨论:

随机化的要点可以归结为以下几点(也可以在前面的帖子中找到!):


希望这有帮助

您可以使用数学函数
random()
读取和分配数组中的索引。例如:

let thisarray = ["Hi","Hope","This","Helps!"];

var thisarrayprime = [];

for (let i = 0; i < thisarray.length; i++) {


   var newarray = Math.floor(Math.random() * thisarray.length);

   thisarrayprime[new] = thisarray[i];

   thisarray.splice((i-1), 1);

}
让thisarray=[“嗨”,“希望”,“这个”,“帮助!”];
var thisarrayprime=[];
for(设i=0;i

希望这有帮助

我试图在线运行您的代码。工作正常。
代码写在这里

我认为您的项目设置存在一些问题。看这根线

有很多普通的javascript选项。你需要这个特定的软件包的帮助吗?或者你可以选择其他的方法吗?请告诉我dude:)你发布的代码片段对我有用。您是否可以尝试发布导致此错误的整个文件?
let thisarray = ["Hi","Hope","This","Helps!"];

var thisarrayprime = [];

for (let i = 0; i < thisarray.length; i++) {


   var newarray = Math.floor(Math.random() * thisarray.length);

   thisarrayprime[new] = thisarray[i];

   thisarray.splice((i-1), 1);

}