Here i am trying to pass array to my backend (Node.js/Express). I want to change my type of "arr" to Array but its showing the "objects". I tried Object.enteries/keys/values but couldn't able to change it.
const K_Way_Merge_Sort = async ({
array,
setArray,
setColorsArray,
visualizationSpeed,
} = {}) => {
var JSONObject = JSON.parse(JSON.stringify(array));
axios.post(
'http://localhost:5000/k_way_external_merge_sort',
{JSONObject}
, ((data) => {
console.log(data);
}))
.catch((err) => {
console.log(err)
})
}
export default K_Way_Merge_Sort
My Backend File is
const express = require('express');
const bodyParser = require("body-parser");
const fs = require('fs')
const { readFileSync, promises: fsPromises } = require('fs');
const app = express();
const cors = require('cors');
app.use(bodyParser.json());
app.use(express.json())
app.use(bodyParser.urlencoded({ extended: true }));
const corsOptions = {
origin: 'http://localhost:3000',
credentials: true,
optionSuccessStatus: 200
}
app.use(cors(corsOptions));
function WriteFiles(array){
var file = fs.createWriteStream('text/input.txt');
for (let i = 0; i < array.length; i ) {
file.write(array[i] '\n')
}
file.end();
}
app.post('/k_way_external_merge_sort',(req,res) => {
let array = req.body.JSONObject;
const arr = Object.values(array);
res.send('done');
})
app.listen(5000,() => {
console.log('running');
})
CodePudding user response:
In Javascript, typeof an array instance is actually an 'object'. If you so want, you can still test if it's an array with arrayInstance instanceof Array
, or you might want to consider Array.isArray()
method; other possiblities are mentionned in this post.