11520 sujets
JavaScript, DOM et API Web HTML5
Ah bon ? Tu veux dire que cette fonction est explicitement prévue pour ne pas fonctionner avec des index nommés ? Mais c'est complètement con.
Donc pour résoudre ce problème, je suis censé faire une requête ajax et gérer ca avec un implode() php côté serveur ? :s
(merci en tout cas de ta réponse, je pensais bien qu'un truc comme ca s'était forcément vu mais impossible de trouver cette clarification sur les docs js)
Modifié par C@scou (08 Feb 2024 - 18:11)
Donc pour résoudre ce problème, je suis censé faire une requête ajax et gérer ca avec un implode() php côté serveur ? :s
(merci en tout cas de ta réponse, je pensais bien qu'un truc comme ca s'était forcément vu mais impossible de trouver cette clarification sur les docs js)
Modifié par C@scou (08 Feb 2024 - 18:11)
Voir https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values
devrait fonctionner
Un tableau destiné à avoir des valeurs nommées devrait plutôt être défini par
Modifié par PapyJP (08 Feb 2024 - 19:27)
Object.values(tableau).join()
devrait fonctionner
Un tableau destiné à avoir des valeurs nommées devrait plutôt être défini par
let tableau={};
Modifié par PapyJP (08 Feb 2024 - 19:27)
C@scou a écrit :
Donc pour résoudre ce problème, je suis censé faire une requête ajax et gérer ca avec un implode() php côté serveur ? :s
Évidement que si c'est possible. Dans la lignée de ce que vient de dire Papy je vais illustrer mon propos par un exemple que j'utilise tout le temps, que ce soit côté frontend ou côté backend (avec Node.js) :
// on initialise un objet avec un littéral :
const data = {
id: 1,
givenName: 'Henri',
additionalName: 'Sonier',
familyName: 'de Lubac',
birthDate: 1896-02-19T23:50:39.000Z,
deathDate: 1991-09-03T22:00:00.000Z,
phone: '0555555555'
}
data.phone = '0777777777' // on vient de changer le numéro de téléphone avec la notation par point (c'est plus joli que `data['phone']`)
// Et enfin l'utilisation de join() ; je passe ici trois valeurs en tableau et, si elles existent (le booleen) alors je les concatène avec join()*** en laissant un espace entre les valeur (' ') :
data.title = [data.givenName, data.additionalName, data.familyName].filter(Boolean).join(' ')
console.log(data)
/*
// ce qui nous retournera l'objet avec la propriété "phone" modifiée et l'ajout de "title" et sa valeur concaténée plus haut avec join()
{
id: 1,
givenName: 'Henri',
additionalName: 'Sonier',
familyName: 'de Lubac',
birthDate: 1896-02-19T23:50:39.000Z,
deathDate: 1991-09-03T22:00:00.000Z,
phone: '0777777777',
title: 'Henri Sonier de Lubac'
}
*/
*** À noter que pour les chaines de caractères il existe aussi concat(), et là il n'y a alors pas besoin de passer les valeurs dans un tableau comme pour join().
Modifié par Olivier C (08 Feb 2024 - 23:25)
Ah oui concat c'est vrai je m'en était servi dans un projet il y a un an ou deux, je l'avais complètement oublié cette fonction.
De toute manière je ragerais jusqu'à la fin sur le JS, c'est typiquement LE langage que je n'ai jamais supporté, à tel point que pour "m'y mettre", j'ai du attendre (à l'époque) de découvrir Jquery. Et même maintenant, sorti de Jquery, le JS me gonfle magistralement.
Je n'ai qu'un rêve, c'est pouvoir faire du PHP côté client.
De toute manière je ragerais jusqu'à la fin sur le JS, c'est typiquement LE langage que je n'ai jamais supporté, à tel point que pour "m'y mettre", j'ai du attendre (à l'époque) de découvrir Jquery. Et même maintenant, sorti de Jquery, le JS me gonfle magistralement.
Je n'ai qu'un rêve, c'est pouvoir faire du PHP côté client.