2

オブジェクトタイプの混合セットを文字列に変換する際に、単純な数値から文字列への変換(科学表記法ではない)を保証するJavaScriptの方法はありますか?

社会保障番号の既存のデータをフォーマットする JavaScript 関数を作成しています。私が乗り越えられない問題は、長さが 9 桁の数字の配列を文字列の配列に変換することです。次の関数を使用すると:

function arrayTo1d(arr){
    /*
        Returns a 1D array of strings from the given array
    */
    try {
        return arr.join().split(",");
    } catch (err) {
        return ["Datatype Error"];
    }
}

1.23456789E8 のような科学表記法の文字列の配列を提供します。

元の表示のように数字を文字列にする必要があります: 123456789

問題に加えて、配列要素は文字列、数値、またはオブジェクトが混在している場合があるためtoString()、またはこの場合join().split(",")は「キャッチオール」修正です。配列に文字列'123-45-6789'と数値が含まれている場合、123456789上記の関数は、個々の要素の種類に関係なく、すべてを文字列の 1D 配列にマージする必要があり[...,'123-45-6789','123456789']ます[...,'123-45-6789','1.23456789E8']

その他の注意事項:

Object.prototype.toString.call(ssnObj).slice(8,-1);

「JavaArray」を返します

と:

Object.prototype.toString.call(ssnObj[0]).slice(8,-1);

「JavaObject」を返します

編集:

Java によって内部的に解釈される Informer JavaScript を使用しています。このため、科学表記法を取得しているようですが、node.jsでは表記法を取得していません。Informer の wiki からの引用:

"インフォーマー JavaScript と「通常の」JavaScript
通常の JavaScript は通常、HTML に埋め込まれ、ブラウザーによって解釈されます。これは、「通常の」JavaScript がレンダリングされる実際の HTML ドキュメントに影響を与える可能性があることを意味します。インフォーマー JavaScript は実際に埋め込まれ、解釈されます。 Informer Java アプリケーションによって. 解釈されると、結果はブラウザに渡されます. つまり、Informer JavaScript は、ブラウザで表示される HTML ドキュメントに影響を与えることはできません. ただし、JavaScript が実行できる他のすべてのことは実行できます. -ソース: Informer wiki - コラム

4

1 に答える 1