Stefan H. avatar

JS object processing functions

andersenlab

Published: 18 Jun 2021 › Updated: 18 Jun 2021JS object processing functions

JS object processing functions

fb_eng_Проект без менеджера__1200x630-2.png

Let's look on the example of some database:

We have fields "id", "destination" (where to fly), date of creation, author name, hashtags and flight.

var posts = [

{

id: '1',

destination: 'China',

createdAt: new Date(2014, -1, 1, 2, 3, 4, 567),

author: 'ChingHang',

hashTags:['Berlin'],

flug: 'A-730'

},

{

id: '2',

destination: 'Italien',

createdAt: new Date(2014, -1, 1, 2, 3, 4, 567),

author: 'PetrovPetr',

hashTags:['Minsk'],

flug: 'A-733'

},

{

id: '3',

destination: 'Spanien',

createdAt: new Date(2017, 0, 1, 2, 3, 4, 567),

author: 'IvanovaKatya',

hashTags:['Moskau'],

flug: 'A-777'

},

{

id: '4',

destination: 'Griechenland',

createdAt: new Date(2013, 0, 1, 2, 3, 4, 567),

author: 'ZaicevVasiliy',

hashTags:['Riga'],

flug: 'A-321'

},

];

The code above - our structure of masses to keep information structured.
Then we make a class, where all functions will be initialized and will be connected with our structure.

class arbeit {

(functions)

constructor(posts) {

this._posts=posts;

}

}

Getting posts with the filter (author)

getPosts(skip=0,top= 10, filterConfig){

if(filterConfig!=undefined){

let result = posts.filter(team => team.author === filterConfig.author)

return result.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime()).slice(skip,skip+top);

}

else {

return posts.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime()).slice(skip,skip+top);

}

}

Getting post with id

getPost(id) {

for (var i = 0; i < posts.length; i++) {

if (posts[i].id === id) {

return posts[i];

}

}

throw "No object with " + id + " id";

}

Validating object

validatePost(Object){

return Object.id != null && Object.destination != null && Object.destination.length<400

&& Object.author != null && Object.createdAt != null && typeof Object.id === "string" && typeof Object.destination === "string" && typeof Object.flug === "string"

&& typeof Object.author === "string"

}

Clearing our "database"

clear(){

posts.splice(0,posts.length);

}

Adding a new post

addPost(Object){

if(this.validatePost(Object)){

posts.splice(posts.length,0,Object);

return true;

}

else {

return false;

}

}

Editing post

editPost(id,post){

if(this.validatePost(post)){

this.getPost(id).destination=post.destination;

this.getPost(id).author=post.author;

return true;

}else {

return false;

}

}

Removing post

removePost(id){

for (var i = 0; i < posts.length; i++) {

if (posts[i].id === id) {

return posts.splice(i,1);

}

}

throw "No object with " + id + " id";

}

Explanation of these functions I will make in another article. Follow me for updates.

Good luck in your job!

Written by Yuri Filatov, IT Expert at Andersen

Leave JS object processing functions to:

Written by

Custom Healthcare Software Development

Read more #programming posts


Best Posts From Stefan H.

We have not curated any of andersenlab's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From Stefan H.