Addressing reporters on Sunday, Grand Traverse County Sheriff Michael Shea said officers began arriving at the store two minutes after the first call came through.
“At the time of the deputy’s arrival, multiple citizens, including one who was armed with a pistol, were confronting the male suspect in the parking lot and preventing him from harming further people and leaving,” he said. “The deputy took the suspect into custody without further incident.”
He added that the suspect’s motive was “yet to be determined”.
“Our detectives, with assistance from the FBI, interviewed him at length, and that will be part of the investigation as it moves forward,” he added.
Joe Pennington, a Walmart spokesperson, said: “Violence like this is unacceptable.
“Our thoughts are with those who were injured and we’re thankful for the swift action of first responders.”
FBI Deputy Director Dan Bongino said on Saturday that federal personnel were responding to provide any necessary support to local authorities.
Michigan Governor Gretchen Whitmer said: “Our thoughts are with the victims and the community reeling from this brutal act of violence.”
Traverse City is about 255 miles (410km) north-west of Detroit.