Javascript 获取参数对象以处理下划线u1;第一个函数?
我必须重新创建下划线。.first函数,但无法使其在参数对象上工作。以下是它必须通过的测试:Javascript 获取参数对象以处理下划线u1;第一个函数?,javascript,arrays,arguments,Javascript,Arrays,Arguments,我必须重新创建下划线。.first函数,但无法使其在参数对象上工作。以下是它必须通过的测试: 应返回包含数组前n个元素的数组 如果n不是数字、为零或为负,则应返回包含第一个元素的数组 如果n大于长度,则应返回整个数组 如果数组不是数组,则应返回空数组 应适用于arguments对象 这就是我到目前为止所做的: _.first = function (array, n) { var arr = []; if (!Array.isArray(array)) return arr;
- 应返回包含数组前n个元素的数组
- 如果n不是数字、为零或为负,则应返回包含第一个元素的数组
- 如果n大于长度,则应返回整个数组
- 如果数组不是数组,则应返回空数组
- 应适用于arguments对象
_.first = function (array, n) {
var arr = [];
if (!Array.isArray(array)) return arr;
if (isNaN(n) || n == null || n <= 0) return array.slice(0,1);
else return array.slice(0, n);
};
\uu0.first=函数(数组,n){
var-arr=[];
如果(!Array.isArray(Array))返回arr;
如果(isNaN(n)| | n==null | | n如果在参数是对象的情况下它应该能够返回n
第一个条目,那么类似的方法应该可以工作:
if (typeof array === 'object' && array !== null) {
const obj = array;
return Object.entries(obj).slice(0, n);
}
我猜你在找
_.first = function (array, n) {
if (!Array.isArray(array))
array = Array.from(array);
if (typeof n != "number" || isNaN(n) || n <= 0)
n = 1;
return array.slice(0, n);
};
\uu0.first=函数(数组,n){
如果(!Array.isArray(数组))
array=array.from(数组);
if(typeof n!=“number”| | isNaN(n)| | n已解决
_.first = function (array, n) {
if (array == null || array == undefined || array.length < 1) return [];
array = Array.from(array);
if (isNaN(n) || n == null || n <= 0) return array.slice(0,1);
else return array.slice(0, n);
};
\uu0.first=函数(数组,n){
if(array==null | | array==undefined | | array.length<1)返回[];
array=array.from(数组);
如果(isNaN(n)| | n==null | | n“arguments object”是什么意思?它应该能够返回对象的n个第一属性?这解决了问题,但是在使用它之后,另一个测试失败“如果数组不是数组,则应返回空数组”:/@Ed.P发布答案后,请不要在问题中编辑不同的要求。此外,这些测试是相互冲突的:arguments对象不是数组,那么它应该如何处理它们?请咨询您的讲师进行澄清。