在javascript中对带有多个点的字符串排序

在javascript中对带有多个点的字符串排序,javascript,lodash,Javascript,Lodash,我有这个阵列: ["4.1.0.57", "4.1.0.99", "4.1.0.54", "4.1.0.65", "4.1.0.87", "4.1.0.97", "4.1.0.63", "4.1.0.96", "4.1.0.51", "4.1.0.84", "4.1.0.95", "4.1.0.105", "4.1.0.38", "4.1.0.59", "4.1.0.47", "4.1.0.69", "4.1.0.93", "4.1.0.92", "4.1.0.103", "4.1.0.100"

我有这个阵列:

["4.1.0.57", "4.1.0.99", "4.1.0.54", "4.1.0.65", "4.1.0.87", "4.1.0.97", "4.1.0.63", "4.1.0.96", "4.1.0.51", "4.1.0.84", "4.1.0.95", "4.1.0.105", "4.1.0.38", "4.1.0.59", "4.1.0.47", "4.1.0.69", "4.1.0.93", "4.1.0.92", "4.1.0.103", "4.1.0.100", "4.1.0.90"]
我正在尝试使用lodash对其进行排序:

_.sortBy(keys)
_.orderBy(keys)
[“4.1.0.100”、“4.1.0.103”、“4.1.0.105”、“4.1.0.38”、“4.1.0.47”、“4.1.0.51”、“4.1.0.54”、“4.1.0.57”、“4.1.0.59”、“4.1.0.63”、“4.1.0.65”、“4.1.0.69”、“4.1.0.84”、“4.1.0.87”、“4.1.0.90”、“4.1.1.0.92”、“4.1.0.93”、“4.1.1.0.95”、“4.1.96”、“0.97”

排序不正确

您可以使用和选项进行排序

var数组=[“4.1.0.57”,“4.1.0.99”,“4.1.0.54”,“4.1.0.65”,“4.1.0.87”,“4.1.0.97”,“4.1.0.63”,“4.1.0.96”,“4.1.0.51”,“4.1.0.84”,“4.1.0.95”,“4.1.0.105”,“4.1.0.38”,“4.1.0.0.59”,“4.1.0.47”,“4.1.0.0.69”,“4.1.0.93”,“4.1.1.0.0.1”,“0.100”,“0.103”];
array.sort(函数(a,b){
返回a.localeCompare(b,未定义,{numeric:true,敏感度:'base'});
});
console.log(数组)

作为控制台包装{max height:100%!important;top:0;}
应按什么顺序订购?