True, there are many other ways to make this work. You could even use 
filter(function(f){f.name==‘abc’;}).length > 0 .

The focus of this proposal is that the purpose of .valueOf and .toString are to 
allow for objects to return a default value without requiring the matching 
method to know about the contents or property names of any of next. 

Array.prototype.some, and any method mentioned above require a that a content 
aware function be passed in to facilitate the match.  This proposal mitigates 
that, and allows Array.prototype.includes to evaluate the object as the object 
design was intended. 

> On Jun 20,  2018, at 11:33 AM, Andrea  <[email protected]> wrote:
> 
> It looks like you want included to use `==` for comparison, opening a whole 
> new world of issues.
> 
> You have `some` and your code to do that with ease, same goes for `find` or 
> `findIndex`, very appropriate for this use case.
> 
> ```js
> items.some(o => o == 'abc');
> ```
> 
> Regards
> 
>> On Wed, Jun 20, 2018 at 8:27 PM, Mike Simon <[email protected]> wrote:
>> [Proposal] Array.prototype.includes should evaluate object.toString and/or 
>> object.valueOf when determining a match
>> 
>> The problem:  
>> 
>> If I have a list of objects that contain a toString() prototype that returns 
>> a value from the object, Array.prototype.includes does not return true if 
>> the value/string returned from the object is a match for the parameter value.
>> 
>> Test code:
>> 
>> var thingy = function(name) {this.name=name;};
>> thingy.prototype.valueOf = function(){return this.name};
>> thingy.prototype.toString = function(){return this.name};
>> var items = [new thingy('abc'),new thingy('def')];
>> var inc = items.includes('abc');
>> alert(items[0]); // alerts abc
>> alert(inc); // returns false
>> 
>> While it’s possible to create this as a list of strings using map, this 
>> would seem to conserve memory, as well as reduce the complexity of the code 
>> to perform this operation. 
>> 
>> Link: 
>> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
>> 
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>> 
> 
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to